zip()函数、dict()函数、sorted()函数、互换字典中的keys与values、字典按value排序

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)]

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值