字典推导式
字典推导式是一种简洁的构造字典的方式。它的语法和列表推导式类似,只不过结果是一个字典,而不是列表。
enumerate
函数
enumerate
函数可以将一个可迭代对象转化为一个枚举对象,其中每个元素都是一个包含索引和值的元组。它的基本语法如下:
enumerate(iterable, [start=0])
#其中,`iterable`是一个可迭代对象,`start`是索引的起始值。
from collections import Iterator, Iterable
lst = ["王文", "吕洞宾", "何仙姑", "铁拐李", "张国老", "曹国舅", "蓝采和", "韩湘子"]
it = enumerate(lst, start=100)
print(isinstance(it, Iterator)) # 检查it是否为迭代器
我们可以使用字典推导式配合enumerate
函数来创建字典:
dic = {k: v for k, v in enumerate(lst, start=100)}
print(dic)
或者,我们可以直接使用dict
函数来将枚举对象转化为字典:
dic = dict(enumerate(lst, start=100))
print(dic)
zip
zip
函数可以将多个可迭代对象中的元素按照索引配对,形成一个新的迭代器。它的基本语法如下:
zip(iterable1, iterable2, ...)
其中,iterable1
, iterable2
等是可迭代对象。
以下是一个示例:
lst_key = ["ww", "axd", "yyt"]
lst_val = ["王维", "安晓东", "杨元涛"]
dic = {k: v for k, v in zip(lst_key, lst_val)}
print(dic)
或者,我们可以直接使用dict
函数来将配对的元素转化为字典:
dic = dict(zip(lst_key, lst_val))
print(dic)
# 在索引下标同时存在时,才会进行配对,否则舍弃.
lst1 = ["孙开启","王永飞","于朝志"]
lst2 = ["薛宇健","韩瑞晓"]
lst3 = ["刘文博"]
标签:推导,迭代,dic,lst,enumerate,print,字典
From: https://www.cnblogs.com/wbcde116/p/18050591