2017-08-31 256 views
-7

我很喜歡。我試圖從A分配值到Z. 這非常長。在python中爲字符A-Z賦值

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

什麼是最好的辦法呢?

+1

不會創建像這樣的變量。爲什麼要這麼做? –

+2

你不需要分配。有'ord('A'.lower())' –

+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_lowercase循環結束ascii_uppercase

0

而不是硬編碼每個字母你可以使用ord('letter')。例如,ord('a')將返回號碼97,其代表ASCII碼爲a

編輯:

我用的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'中輸入'a'的ASCII值。有什麼辦法可以做到嗎? –

+0

@ShikhaNepal檢查我的編輯,我認爲它符合你的需求。 – 542