Групповые и стековые кортежи - PullRequest
2 голосов
/ 09 февраля 2010

Я только начинаю с Python и не могу понять, как группировать кортежи.

Например, у меня есть tuple1=("A", "B", "C") и tuple2=("1","2","3"). Я хочу объединить их в список, сгруппированный по первому кортежу. Я хочу, чтобы он отображался в стопке, как в A1 A2 A3 на одной строке и B1 B2 B3 на следующей.

Я могу заставить их печатать каскадно, но я не могу понять, как их правильно сложить.

Ответы [ 2 ]

3 голосов
/ 09 февраля 2010
>>> t1 = ("A", "B", "C")
>>> t2 = ("1", "2", "3")
>>> [x + y for x in t1 for y in t2]
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
>>> [[x + y for y in t2] for x in t1]
[['A1', 'A2', 'A3'], ['B1', 'B2', 'B3'], ['C1', 'C2', 'C3']]
>>> x = _  # assign x to the last value
>>> for row in x:
...   print " ".join(row)
... 
A1 A2 A3
B1 B2 B3
C1 C2 C3
>>> for x in t1:
...   for y in t2:
...     print x + y,  # notice the comma, special print-statement syntax
...   print
A1 A2 A3
B1 B2 B3
C1 C2 C3

[..] используется здесь как список пониманий .

1 голос
/ 09 февраля 2010

Я не совсем уверен, в чем конкретно ваша проблема, но вы имеете в виду следующее?

for x in ("A", "B", "C"):
    print [x + y for y in ("1", "2", "3")]

Что вы подразумеваете под сложением?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...