私はnoobieです。私はAからZまでの値を割り当てようとしています。 これは非常に長いです。Pythonの文字A-Zに値を割り当てる
A= 97
B= 98
C= 99
D= 100
...
Z= 122
どのような方法が最適ですか?
私はnoobieです。私はAからZまでの値を割り当てようとしています。 これは非常に長いです。Pythonの文字A-Zに値を割り当てる
A= 97
B= 98
C= 99
D= 100
...
Z= 122
どのような方法が最適ですか?
あなたはそのようにそれを行うことができます。
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
すべての文字をハードコードする代わりに、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)
申し訳ありませんが、私の質問は明確ではありませんでした。私は 'A'のASCII値を 'A'にしたかったのです。それを行う方法はありますか? –
@ShikhaNepal私の編集を確認してください。私はあなたが必要としていると思います。 – 542
このような変数を作成しないでください。どうしてそうするか? –
義務は必要ありません。 –
'ord(str)'関数を使うことができます –