Почему `x = a, b ; zip(x)` дает результат, отличный от `zip(a, b)`?Python

Программы на Python
Ответить
Anonymous
 Почему `x = a, b ; zip(x)` дает результат, отличный от `zip(a, b)`?

Сообщение Anonymous »

Я в недоумении. Я запустил zip на двух наборах списков и получил разные результаты. Я надеюсь, что опытный эксперт поможет мне понять, где мое мышление пошло не так.

s1 и s2 представляют собой две фразы, длина которых всегда будет от одного до трех слов. Мне нужно сложить слова фраз в столбцы (с выравниванием по нижнему краю стека). Я не понимаю, почему два вызова zip возвращают разные результаты. Я использовал repr, и оба параметра функции выглядят одинаково.

>>> s1 = 'a b'
>>> s2 = 'c d'
>>> s1.split(' '),s2.split(' ')
(['a', 'b'], ['c', 'd'])

>>> tokens = s1.split(' '),s2.split(' ')
>>> tokens
(['a', 'b'], ['c', 'd'])

>>> zip(s1.split(' '),s2.split(' '))
[('a', 'c'), ('b', 'd')]

>>> zip(tokens)
[(['a', 'b'],), (['c', 'd'],)]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»