[英]Python - asterisk when zipping
我是 python 的新手,我不明白为什么以下不起作用:
ea = zip([[200, 1], [10, 1]])
因为我得到
[([200, 1],), ([10, 1],)]
而我应该添加一个星号
ea = zip(*[[200, 1], [10, 1]])
获得我想要的结果,即
[(200, 10), (1, 1)]
我以为 * 是为了将列表转换为元组,我哪里错了?
zip
需要多个参数,如下所示:
>>> zip([200, 1], [10, 1])
[(200, 10), (1, 1)]
如果您只想使用一个参数,请使用*
因为它具有将其分解为多个参数的效果:
>>> zip(*[[200, 1], [10, 1]])
[(200, 10), (1, 1)]
>>>
*
不会将列表转换为元组。 它解压列表( 文档)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.