python zip( )

来源:互联网 发布:2017linux系统推荐 编辑:程序博客网 时间:2024/06/05 02:55

示例1
x,y可以是列表也可以是元组
zip( )生成一个列表

x=(1,2,3)y=(4,5,6)>>> zip(x,y)[(1, 4), (2, 5), (3, 6)]>>> x=[1,2,3]>>> zip(x,y)[(1, 4), (2, 5), (3, 6)]

示例二
x,y长度不一致,以短的为准

>>> x = [1, 2, 3]>>> y = [4, 5, 6, 7]>>> zip(x, y)[(1, 4), (2, 5), (3, 6)]

示例三
注意zip(a),zip(*a)不同

只有一个参数时,第二个参数默认为空list

>>> zip(x)[(1,), (2,), (3,)]
>>> x = [1, 2, 3]>>> >>> y = [4, 5, 6]>>> >>> z = [7, 8, 9]>>> a=zip(x,y,z)>>> a[(1, 4, 7), (2, 5, 8), (3, 6, 9)]>>> zip(a)[((1, 4, 7),), ((2, 5, 8),), ((3, 6, 9),)]>>> zip(*a)[(1, 2, 3), (4, 5, 6), (7, 8, 9)]>>> 

a为一个list, *a相当于拆开为(1, 4, 7), (2, 5, 8), (3, 6, 9),不将a整体当作参数。

>>> x = [1, 2, 3]>>> [x] * 3[[1, 2, 3], [1, 2, 3], [1, 2, 3]]>>> zip(* [x] * 3)[(1, 1, 1), (2, 2, 2), (3, 3, 3)]