zip()
- 返回值 | 元组列表(python3.0以后版本中,为节省内存,zip()并不返回元组列表,而是一个对象,如想以列表形式呈现,需使用list()进行转换。)
- 操作注意
- zip所组成的列表,以列表中的元素个数最少的一个去算
- 要以列表形式呈现需要list()函数
- zip(*zip)函数与zip函数的作用相反
- 案例
names = ['小一', '小二', '小三', '小四']#列表中的元素多一个
ages = [18, 19, 20]
cities = ['上海', '北京', '深圳']
zips = zip(names, ages, cities)
zips_list = list(zips)
print(zips)
print(type(zips))
print(zips_list)
print(list(zip(*zips_list)))
for name, age, city in zips: # 由于zips函数前方已经转换,所以此处无结果
print('{0}-{1}-{2}'.format(name, age, city))
#结果
<zip object at 0x000001A245053EC8>
<class 'zip'>
[('小一', 18, '上海'), ('小二', 19, '北京'), ('小三', 20, '深圳')]
<zip object at 0x0000020971043E08> # python3以后版本中其返回的为一个对象,而非元组列表
<class 'zip'>
[('小一', 18, '上海'), ('小二', 19, '北京'), ('小三', 20, '深圳')]#如果想转换为列表,需list()
[('小一', '小二', '小三'), (18, 19, 20), ('上海', '北京', '深圳')] # *zip_list