056 字典生成式

一、字典生成式

字典生成式就是快速生成字典的一个方法

用法:

new_dic = {k:v for k,v in {"a":1,"b":2}.items()}      # 字典生成式
print(new_dic)

res = {i:i**i for i in range(10)}   # 字典生成式
print(res)

{'a': 1, 'b': 2}
{0: 1, 1: 1, 2: 4, 3: 27, 4: 256, 5: 3125, 6: 46656, 7: 823543, 8: 16777216, 9: 387420489}

二、zip()方法

zip函数(拉链函数) 会将两个列表合并成一个大列表,列表中里面包了元组。

zip方法必须传递两个长度一样的可迭代对象。

zip()函数用法:

z = zip(['a', 'b', 'c', 'd'], [1, 2, 3, 4])      # 压缩方法,Python解释器的内置方法,得到 zip类型变量
for i in z:
    print(i)

('a', 1)
('b', 2)
('c', 3)
('d', 4)

三、字典生成式与zip()方法连用

字典生成式一般与zip()方法连用。zip方法必须传递两个长度一样的可迭代对象。

zip方法必须传递两个长度一样的可迭代对象。

第一种用法:

z = zip(['a', 'b', 'c', 'd'], [1, 2, 3, 4])      # 压缩方法,Python解释器的内置方法,得到 zip类型变量
new_dic = {k: v ** 2 for k, v in z}         # 字典生成式
print(new_dic)

{'a': 1, 'b': 4, 'c': 9, 'd': 16}

第二种用法:

z = zip(['a', 'b', 'c', 'd'], [1, 2, 3, 4])      # 压缩方法,Python解释器的内置方法,得到 zip类型变量
new_dic = {k: v ** 2 for k, v in zip(['a', 'b', 'c', 'd'], [1, 2, 3, 4]) }         # 字典生成式,另一种形式
print(new_dic)

{'a': 1, 'b': 4, 'c': 9, 'd': 16}

原文地址:https://www.cnblogs.com/XuChengNotes/p/11348981.html