dict() 函数可以将两个可迭代的对象,组合返回成一个元组数据。
#zip()函数示例
a=["word1","word2","word3"]
b = [1,2,3]
print( list(zip(a,b)) )
输出:
>>> [('word1', 1), ('word2', 2), ('word3', 3)]
若两个可迭代对象长短不一,依据最短一方确定元组数据长度,其后的数据舍弃。
#zip()函数
a=["word1","word2","word3"]
b = [1,2,3,4,5,6]
print(list(zip(a,b)))
输出:
>>> [('word1', 1), ('word2', 2), ('word3', 3)]
zip()函数,可使用元组数据构建字典。
# dict()函数示例
e=[("a",1),('b',2)]
print( dict(e) )
输出:
>>> {'b': 2, 'a': 1}
互换字典中的keys与values
# 互换字典中的keys 和 values
dictionary ={'a':1, 'b':2, 'c':3}
reverse_dictionary = dict(zip(dictionary.values(), dictionary.keys()))
print(reverse_dictionary)
输出:
>>> {1: 'a', 2: 'b', 3: 'c'}
sorted( iterable, cmp, key, reverse )
(1)iterable指定要排序的list或者iterable
(2)reverse参数就不用多说了,是一个bool变量,表示升序还是降序排列,默认为false(升序排列)
(3)key为函数,指定取待排序元素的哪一项进行排序
以字典数据 a = { 'a': 22, 'c': 32, 'h': 12, 'w': 9, 'b': 89} 为例:
(迭代字典时 .items() )
a={'a':22, 'c':32, 'h':12, 'w':9, 'b':89}
# 根据字典a中第一个域内的数据,对其进行排序 (即根据字典中 key 进行排序)
b = sorted(a.items(), key=operator.itemgetter(0), reverse=False)
print("dict_a_0: ",b)
b = sorted(a.items(), key=lambda a:a[0],reverse=False)
print("dict_a_lambda_0: ",b)
# 根据字典a中第二个域内的数据,对其进行排序 (即根据字典中 value 进行排序)
b = sorted(a.items(), key=operator.itemgetter(1), reverse=False)
print("dict_a_1: ",b)
b = sorted(a.items(), key=lambda a:a[1],reverse=False)
print("dict_a_lambda_1: ",b)
# 得到输出如下:
dict_a_0: [('a', 22), ('b', 89), ('c', 32), ('h', 12), ('w', 9)]
dict_a_lambda_0: [('a', 22), ('b', 89), ('c', 32), ('h', 12), ('w', 9)]
dict_a_1: [('w', 9), ('h', 12), ('a', 22), ('c', 32), ('b', 89)]
dict_a_lambda_1: [('w', 9), ('h', 12), ('a', 22), ('c', 32), ('b', 89)]