Python同时遍历多个列表一一对应 |
您所在的位置:网站首页 › Python按行输出编号与对应星期 › Python同时遍历多个列表一一对应 |
Python在编程时常常需要的for循环遍历list,最常用的是单个list遍历,但是,有时遍历一个list并不能满足我们的需求,在一些特殊的场合,我们可能会需要遍历两个甚至多个列表;例如,有两个列表,第一个列表存放的是人物的姓名,第二个列表存放的是人物的年纪,他们之间的关系是对应的,怎么同时遍历他们的对应关系呢,这时常使用zip函数。 name_list = ['name1', 'name2', 'name3'] age_list = [54, 18, 34] for name, age in zip(name_list, age_list): print(name, ':', age)运行结果: name1 : 54 name2 : 18 name3 : 34除此之外,zip函数还有其他各种用法 (1)直接输出zip(list1, list2),返回的是一个zip对象。 (2) 在zip前面加上*, 它输出了三个元组, 正是两个列表中的三个数据一一对应的结果。 (3)还可以将此对象直接转化成列表,甚至字典! 实验如下所示: name_list = ['name1', 'name2', 'name3'] age_list = [54, 18, 34] print(zip(name_list, age_list)) print(type(zip(name_list, age_list))) print(*zip(name_list, age_list)) print(list(zip(name_list, age_list))) print(dict(zip(name_list, age_list))) ('name1', 54) ('name2', 18) ('name3', 34) [('name1', 54), ('name2', 18), ('name3', 34)] {'name1': 54, 'name2': 18, 'name3': 34}同样,还可以使用zip()来遍历三个及以上的列表。 除了以上方法外,还可以使用第2个列表的下标取元素。 list1 = [1, 2, 3, 4, 5] list2 = ['a', 'b', 'c', 'd', 'f'] n = 0 for each in list1: print(each, list2[n]) n += 1 1 a 2 b 3 c 4 d 5 f |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |