2016-04-25 3 views
1

У меня есть два спискаPython: создать список списков

l1= ["apple", "orange"] 
l2 = ["red", green", "black", "blue"] 

Я хочу, чтобы создать список, который присоединяет оба.

l3 = [["apple", "orange"], ["red", green", "black", "blue"]]. 

Так l3[0] =["apple", "orange"] и l3[1]=["red", green", "black", "blue"].

Как это сделать?

+0

'l3 = [l1, l2]' –

ответ

2

Просто поместите ссылки в.

l3 = [l1, l2] 

Обратите внимание, что, если вы сделаете это, изменяя l1 или l2 также будет производить те же изменения в l3. Если вы не хотите, чтобы это произошло, используйте копию:

l3 = [l1[:], l2[:]] 

Это будет работать для мелких списков. Если они вложены, то лучше использовать deepcopy:

import copy 
l3 = [copy.deepcopy(l1), copy.deepcopy(l2)] 
+0

Если downvoter или кто-то другой будет заботиться, чтобы объяснить, что случилось с этим ответом, Я хотел бы улучшить его. – TigerhawkT3

1

Либо:

>>> l1= ["apple", "orange"] 
>>> l2 =["red", "green", "black", "blue"] 
>>> l3 = list() 
>>> l3.append(l1) 
>>> l3.append(l2) 
>>> l3 
[['apple', 'orange'], ['red', 'green', 'black', 'blue']] 

использовать Append() для добавления перечислите в список 3

Или:

l3 = [l1, l2] 

Независимо от того, какой путь вы выберете, результат:

>>> l3[0] 
['apple', 'orange'] 
>>> l3[1] 
['red', 'green', 'black', 'blue'] 
1

Вы хотите использовать метод .append().

Во-первых, создать новый массив, затем добавьте первый список, то второй:

l3 = [] 
l3.append(l1) 
l3.append(l2) 

Это дает:

l3 = [["apple", "orange"], ["red", green", "black", "blue"]] 

Вы можете также сделать этот короткий метод:

l3 = [l1, l2] 
0

Если у вас есть:

l1 = [1,2,3] 
l2 = [4,5,6] 

Вы можете сделать:

l3 = list() 
l3.append(l1) 
l3.append(l2) 

или:

l3 = [l1,l2] 
Смежные вопросы