zip函数

zip函数

语法:zip([iterable,…])
参数iterable为可迭代的对象,并且可以有多个参数该函数返回一个以元组为元素的列表,
其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。

1.zip()函数可以把两个list变成一个list

list = ['a', 'b', 'c']
list2 = [1, 2, 3]
dictionary = dict(zip(list, list2))
print(dictionary)

2.当没有参数的时候

import numpy as np
a = zip()
print(a)

输出:[]

3.当只有一个参数的时候

import numpy as np
a = [1,2,3]
b = zip(a)
print(b)

输出:[(1,), (2,), (3,)]

4.当多个参数长度不同的时候

import numpy as np
a = [1,2,3]
b = [1,2,3,4]
c = [1,2,3,4,5]
f = zip(a,b,c)
print(f)

输出:[(1, 1, 1), (2, 2, 2), (3, 3, 3)]

5.zip() 和 * args操作符一起操作可以用来 unzip 一个列表。
注意这里输出的每个都是元组,而不一定是原来的类型,但是值不会发生变化(除非原来的参数列表长度不一样),例如:

import numpy as np
a = [1,2,3]
b = [4,5,6]
c = [7,8,9]
args = zip(a,b,c)
print(f)

x,y,z=zip(*args)
print(x)
print(y)
print(z)

输出:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)
枚举

场景,循环的时候想同时获得索引和值

tuple5 = (10,20,'张三')
for index,stu in enumerate(tuple5):
    print(index,stu)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值