2017-01-14 3 views

Antwort

5

Nutzung zu erhalten:

t = [a + b for a, b in zip(g, c)] 

Demo:

>>> g = [[1], [2], [3], [4], [5], [6]] 
>>> c = [[9], [8], [7], [6], [5], [4]] 
>>> [a + b for a, b in zip(g, c)] 
[[1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4]] 

Es kann etwas effizienter mithilfe der iterative zip() function from Python 3/itertools gemacht werden: Wenn Sie den Code sowohl auf Python 2 und 3.

+0

Es ist besser a + b auszuführen, wenn mehr als ein Element in der verschachtelten Liste vorhanden ist. – seartun

+0

@seartun: einverstanden, das ist eine bessere Idee. –

0

Eine weitere Option arbeiten wollen notwendig

try: 
    from future_builtins import zip 
except ImportError: 
    pass 

t = [a + b for a, b in zip(g, c)] 

Die try..except ist nur ohne zip, mit listenverstehen:

>>> g = [[1], [2], [3], [4], [5], [6]] 
>>> c = [[9], [8], [7], [6], [5], [4]] 
>>> result = [ [g[i][0], c[i][0]] for i in range(min([len(g), len(c)])) ] 
>>> print(result) 
[[1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4]] 
>>> 
0

Hallo, wenn Sie in Python 2.7 sind, können Sie benutze einfach zip

g = [[1], [2], [3], [4], [5], [6]] 
c = [[9], [8], [7], [6], [5], [4]] 
t = zip(g, c) 
[([1], [9]), ([2], [8]), ([3], [7]), ([4], [6]), ([5], [5]), ([6], [4])] 
Verwandte Themen