Почему zip () списка списков выводит такое? - PullRequest
0 голосов
/ 04 августа 2020

Возьмем:

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

, где a - это заархивированная переменная списка списков [[1,2], [2,3]], вывод для print(list(a)) -

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

означает, что zip был кортежем, содержащим ([1, 2],), ([2, 3],)? Это почему? Например, почему перед обеими концевыми скобками кортежа стоит запятая?

Если бы кто-нибудь мог провести меня через этапы вычислений, я был бы очень признателен.

1 Ответ

0 голосов
/ 04 августа 2020

"Функция zip () принимает итерации (может быть ноль или больше), объединяет их в кортеж и возвращает его."

В основном это означает, что вы можете когда-нибудь сделать это:

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]]

сначала вы заархивируете список: ([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],)]

...