Как получить C от A и B в следующем случае?Как получить C от A и B в следующем случае?
A = ['5','6','7','8']
B = ['1','2','3','4']
C = [['5','1'],['6','2'],['7','3'],['8','4']]
Как получить C от A и B в следующем случае?Как получить C от A и B в следующем случае?
A = ['5','6','7','8']
B = ['1','2','3','4']
C = [['5','1'],['6','2'],['7','3'],['8','4']]
использование почтового индекса: http://docs.python.org/2/library/functions.html#zip
In [1]: A = [5,6,7,8]
In [2]: B = [1,2,3,4]
In [3]: zip(A,B)
Out[3]: [(5, 1), (6, 2), (7, 3), (8, 4)]
In [4]: map(list, zip(A, B))
Out[4]: [[5, 1], [6, 2], [7, 3], [8, 4]]
In [5]: [list(x) for x in zip(A, B)]
Out[5]: [[5, 1], [6, 2], [7, 3], [8, 4]]
EDIT: добавлен в [4] через Out [5]
Как это:
>>> [list(t) for t in zip(A, B)]
[['5', '1'], ['6', '2'], ['7', '3'], ['8', '4']]
Если вы равнину: zip(A, B)
то вы получите список кортежей, который строго не соответствует тому, что вы просили:
>>> zip(A, B)
[('5', '1'), ('6', '2'), ('7', '3'), ('8', '4')]
Так применить list()
для каждого кортежа, который выходит из zip
, чтобы получить то, что вы просили.
Будет ли один из этих двух вариантов рассматриваться более питоническим? – Alec
@alecbenzer Преимущество LC заключается в том, что его можно использовать как в Python2, так и в Python3, но для 'map' вам понадобится дополнительный вызов' list() 'в Python3. –