【语法】enumerate、zip
enumerate
enumerate(iterable,[start=0])
功能:枚举 ; 将索引号和iterable中的值,一个一个拿出来配对组成元组,通过迭代器返回
参数:
iterable: 可迭代性数据 (常用:迭代器,容器类型数据,可迭代对象range)
start: 可以选择开始的索引号(默认从0开始索引)
返回值:迭代器
1 dic = {k:v for k,v in enumerate(lst,start=100)} 2 print(dic) 3 4 (100, '王文') 5 (101, '吕洞宾') 6 (102, '何仙姑') 7 (103, '铁拐李') 8 (104, '张国老') 9 (105, '曹国舅') 10 (106, '蓝采和') 11 (107, '韩湘子')
zip
特点:按照索引配对
zip(iterable, … …)
功能: 将多个iterable中的值,一个一个拿出来配对组成元组,通过迭代器返回 要是生成字典只能有两个iterable
iterable: 可迭代性数据 (常用:迭代器,容器类型数据,可迭代对象range)
返回: 迭代器
1 # 在索引下标同时存在时,才会进行配对,否则舍弃. 2 lst1 = ["孙开启","王永飞","于朝志"] 3 lst2 = ["薛宇健","韩瑞晓"] 4 lst3 = ["刘文博"] 5 6 it = zip(lst1,lst2,lst3) 7 print(list(it)) 8 # [('孙开启', '薛宇健', '刘文博')]
# 强制转换为字典 lst_key = ["ww","axd","yyt"] lst_val = ["王维","安晓东","杨元涛"] dic = dict( zip(lst_key , lst_val) ) print(dic) # {'ww': '王维', 'axd': '安晓东', 'yyt': '杨元涛'}
浙公网安备 33010602011771号