繁体   English   中英

为什么列表列表 output 的 zip() 会这样?

[英]Why does zip() of list of lists output such?

让我们来:

a = zip([[1,2],[2,3]])

其中 a 是列表列表 [[1,2],[2,3]] 的压缩变量print(list(a))的 output 是

[([1, 2],), ([2, 3],)]

意味着 zip 是一个包含 ([1, 2],), ([2, 3],) 的元组? 这是为什么? 例如,为什么元组的两个结束括号前都有一个逗号?

如果有人可以引导我完成计算步骤,我将不胜感激。

“zip() function 接受迭代(可以是零个或多个),将它们聚合在一个元组中,然后返回它。”

基本上,这意味着您有时可以这样做:

list1 = [1,2,3,4]
list2 = ["h", "b", "s"]

for num, char in zip(list1, list2):
    print(num, char)

# output:
# 1 h
# 2 b
# 3 s

输入值: [[1,2],[2,3]]

首先你 zip 列表: ([1, 2],), ([2, 3],)或者只是对值进行元组

如果你只输入一个列表:

a = zip([1,2,3,4,5,6])

print(list(a))  # [(1,), (2,), (3,), (4,), (5,), (6,)]

它使列表中的值成为元组。 (, 使它成为一个单值元组)

然后你把它做成一个列表: [([1, 2],), ([2, 3],)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM