zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 例如,想要把 [2,3,4] 变成[(0,2),(1,3),(2,4)]的形式:
>>> a
= [2,3,4]
>>> b
= zip(range(len(a
)),a
)
>>> b
[(0, 2), (1, 3), (2, 4)]
>>> b
= sorted(b
,key
=lambda x
:x
[1],reverse
=True)
>>> b
[(2, 4), (1, 3), (0, 2)]
或者也可以变成字典的形式:
>>> b
= dict(zip(range(len(a
)),a
))
>>> b
{0: 2, 1: 3, 2: 4}
>>> b
= sorted(b
.items
(),key
=lambda x
:x
[1],reverse
=True)
>>> b
[(2, 4), (1, 3), (0, 2)]
可以使用 zip(*a) 的形式拆分a:
>>> b
[(0, 2), (1, 3), (2, 4)]
>>> m1
,m2
= zip(*b
)
>>> m1
(0, 1, 2)
>>> m2
(2, 3, 4)
>>>
在机器学习中,可以使用zip构建(x,y)的训练数据,再使用shuffle函数打乱数据,从而划分数据集。