dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}app
1) 將該字典按照ASCII碼的值排序ide
2) 有一個字母的ASCII錯了,修改成正確的值,並從新排序code
用最簡潔的代碼,本身生成一個大寫字母 A-Z 及其對應的ASCII碼值的字典dict2(使用dict,zip,range方法)排序
一、將該字典按照ASCII碼的值排序ip
In [312]: sorted(dict1.items())ci
Out[312]:string
[('a', 97),it
('b', 98),class
('c', 99),import
('d', 100),
('e', 101),
('f', 102),
('g', 103),
('h', 104),
('i', 105),
('j', 106),
('k', 107),
('l', 108),
('m', 109),
('n', 110),
('o', 96),
('p', 112),
('q', 113),
('r', 114),
('s', 115),
('t', 116),
('u', 117),
('v', 118),
('w', 119),
('x', 120),
('y', 121),
('z', 122)]
二、將該字典按照ASCII碼的值排序
In [318]: dict1['o'] = 111
In [319]: dict1
Out[319]:
{'0': 111,
'a': 97,
'b': 98,
'c': 99,
'd': 100,
'e': 101,
'f': 102,
'g': 103,
'h': 104,
'i': 105,
'j': 106,
'k': 107,
'l': 108,
'm': 109,
'n': 110,
'o': 111, # 已修改
'p': 112,
'q': 113,
'r': 114,
's': 115,
't': 116,
'u': 117,
'v': 118,
'w': 119,
'x': 120,
'y': 121,
'z': 122}
三、用最簡潔的代碼,本身生成一個大寫字母 A-Z 及其對應的ASCII碼值的字典dict2(使用dict,zip,range方法)
In [383]: str_upper = [key for key in string.uppercase]
In [384]: str_upper
Out[384]:
['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']
In [385]: str_ascii = [ord(str_upper[0]) + value for value in range(len(str_upper))]
In [386]: str_ascii
Out[386]:
[65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90]
In [387]: dict(zip(str_upper, str_ascii))
Out[387]:
{'A': 65,
'B': 66,
'C': 67,
'D': 68,
'E': 69,
'F': 70,
'G': 71,
'H': 72,
'I': 73,
'J': 74,
'K': 75,
'L': 76,
'M': 77,
'N': 78,
'O': 79,
'P': 80,
'Q': 81,
'R': 82,
'S': 83,
'T': 84,
'U': 85,
'V': 86,
'W': 87,
'X': 88,
'Y': 89,
'Z': 90}
四、將dict2與第一題排序後的dict1合併成一個dict3
In [395]: dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105,
...: 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 111, 'n': 110, 'q': 113, 'p': 1 ...: 12, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z ...: ': 122}
In [396]: dict2.update(dict1)
In [397]: dict3 = dict2
In [398]: dict3
Out[398]:
{'A': 65,
'B': 66,
'C': 67,
'D': 68,
'E': 69,
'F': 70,
'G': 71,
'H': 72,
'I': 73,
'J': 74,
'K': 75,
'L': 76,
'M': 77,
'N': 78,
'O': 79,
'P': 80,
'Q': 81,
'R': 82,
'S': 83,
'T': 84,
'U': 85,
'V': 86,
'W': 87,
'X': 88,
'Y': 89,
'Z': 90,
'a': 97,
'b': 98,
'c': 99,
'd': 100,
'e': 101,
'f': 102,
'g': 103,
'h': 104,
'i': 105,
'j': 106,
'k': 107,
'l': 108,
'm': 109,
'n': 110,
'o': 111,
'p': 112,
'q': 113,
'r': 114,
's': 115,
't': 116,
'u': 117,
'v': 118,
'w': 119,
'x': 120,
'y': 121,
'z': 122}
2017-12-22 14:45 添加評論 評分
0jxcia
dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}
1) 將該字典按照ASCII碼的值排序
sorted(dict1.items(),key=lambda x:x[1],reverse=False)
2) 有一個字母的ASCII錯了,修改成正確的值,並從新排序
for k in dict1:
if dict1[k] != ord(k):
print k
dict1[k] = ord(k)
sorted(dict1.items(),key=lambda x:x[1],reverse=False)
import string
tuple1 = tuple(string.uppercase)
list1 = []
for i in tuple1:
list1.append(ord(i))
dict2 = dict(zip (tuple1,list1))
dict2.update(dict1)
dict3 = dict2
dict3 = dict(dict,**dict2)