
##やりたいこと
手打ち無しでアルファベットと数字を辞書にまとめたいと考えています。より具体的には
{'A':1, 'B':2, 'C':3, ... 'Z':26}
となるようにしたいです。
##やってみたこと
手打ちでやるのは面倒なので、いろいろ調べまして、ASCIIコードを用いて
def score_list(): alphabets = [] score_list= [] alphabetTable = [chr(i) for i in range(65,65+26)] alphabets.append(alphabetTable) print(alphabetTable) #1 points = [i for i in range(1,27)] print(points) #2 for alphabet, point in zip(alphabets, points): score_list.append([alphabet,point]) print(score_list) #3
という風にアルファベットを取得することができました。それぞれの出力結果は#1が
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
, #2が
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
となり、ここまではちゃんとリストで出力できるのですが、まとめるところで
[[['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'], 1]]
となって数字をアルファベットが対応しなくなってしまいます。内包表記で2つのリストをタプルにしてからdict関数を使ってみたりもしてみましたが、それをすると、各アルファベットに1から26までの数字が割り振られてしまいます。({A:1, A:2,...}というふうに.)
以上よろしくお願いします

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/04/05 23:33