2017-08-31 48 views
-7

私はnoobieです。私はAからZまでの値を割り当てようとしています。 これは非常に長いです。Pythonの文字A-Zに値を割り当てる

A= 97 
    B= 98 
    C= 99 
    D= 100 
    ... 
    Z= 122 

どのような方法が最適ですか?

+1

このような変数を作成しないでください。どうしてそうするか? –

+2

義務は必要ありません。 –

+1

'ord(str)'関数を使うことができます –

答えて

2

あなたはそのようにそれを行うことができます。

import string 

alpha_dict = {k: ord(k) for k in string.ascii_lowercase} 
print(alpha_dict) # {'r': 114, 'l': 108, 'z': 122, ...} 

そしてalpha_dict['a']のようなあなたの変数にアクセスします。


あなたの例では、あなたが持っている値は、小文字文字に対応ができますが、大文字であなたの変数の命名されていることに注意してください。実際にループする代わりに大文字を使用する場合ascii_uppercase

0

すべての文字をハードコードする代わりに、ord('letter')を使用できます。たとえば、ord('a')は、数字97を返します。これは、文字としてaをASCIIで表します。

EDIT:

鉱山が間違っていたので、私は辞書を生成するためのEv. Kounisのコードを使用していました。何か問題があれば削除することができます。

import string 

alpha_dict = {k: ord(k) for k in string.ascii_uppercase} 

'''Iterates in keys of alpha_dict, turning the key to lowercase, removes 
the old key and replaces it with the new lowercase one''' 
for key in alpha_dict: 
    lower = key.lower() 
    alpha_dict[lower] = alpha_dict.pop(key) 

print(alpha_dict) 
+0

申し訳ありませんが、私の質問は明確ではありませんでした。私は 'A'のASCII値を 'A'にしたかったのです。それを行う方法はありますか? –

+0

@ShikhaNepal私の編集を確認してください。私はあなたが必要としていると思います。 – 542

関連する問題