码迷,mamicode.com
首页 > 编程语言 > 详细

python-Zip方法

时间:2018-06-01 00:20:36      阅读:1598      评论:0      收藏:0      [点我收藏+]

标签:整合   some   多个   通过   style   tuple   pytho   结果   nbsp   

 zip 返回一个将多个可迭代对象组合成一个元组序列的迭代器。

1.  循环多个list的数据:

1 letters = [a, b, c]
2 nums = [1, 2, 3]
3 
4 for letter, num in zip(letters, nums):
5     print("{}: {}".format(letter, num))

2. 将多个list的数据组合成tuple的list:

1 list(zip([a, b, c], [1, 2, 3])) 
2 
3 # 得到: [(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)].

3. 将tuple组成的list拆分成多个tuple:

1 some_list = [(a, 1), (b, 2), (c, 3)]
2 letters, nums = zip(*some_list)
3 
4 #结果 
5 # letters: (‘a‘, ‘b‘, ‘c‘)
6 # nums: (1, 2, 3)
7          

*注意,即使不是list,而是tuple,依然可以拆分,拆分后的结果都是tuple:

some_list = ((a, 1), (b, 2), (c, 3))
letters, nums = zip(*some_list)

#结果同上 

*注意,即使不是tuple,是list,依然可以拆分,拆分后的结果都是tuple:

some_list = [[a, 1], [b, 2], [c, 3]]
letters, nums = zip(*some_list)

举个栗子:

# 将 data 从 4x3 矩阵转置成 3x4 矩阵。

data = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (9, 10, 11))

data_transpose = zip(*data)

# 结果:
[(0, 3, 6, 9), (1, 4, 7, 10), (2, 5, 8, 11)]

*值得注意的是:

 zip 用于整合数据的时候,返回的是一个可迭代的迭代器,可以用来循环,也可以通过 list() , tuple() 方法把它变成list或tuple

 zip 用于拆分数据的时候,可以拆分list,拆分tuple,但返回的总是一个list,并且list的每个元素都是tuple

python-Zip方法

标签:整合   some   多个   通过   style   tuple   pytho   结果   nbsp   

原文地址:https://www.cnblogs.com/liulangmao/p/9119703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!