Распакуйте список и поместите в качестве переменной

У меня есть исходный код следующего вида

chain примите множественное число списков.

list1 = [1,2,3]
list2 = [1,2,3]
list3 = [1,2,3]

chain(list1,list2,list3)

Однако я хочу рассматривать list1 list2 list3 как один список и поместить это в цепочку

total = [list1,list2,list2] 

chain(total) # it doesn't work , ochain doesn't accept the list.

Есть ли какой-нибудь хороший способ сделать это?

Это работает.


from itertools import chain

list1 = [1,2,3]
list2 = [1,2,3]
list3 = [1,2,3]

print(list(chain(list1,list2,list3))) # you need to convert chain object to list.

Есть простой способ, использующий чистый python.

list1 = [1,2,3]
list2 = [1,2,3]
list3 = [1,2,3]

output_list = list1+list2+list3
print(output_list)

Использовать itertools.chain.from_iterable

from itertools import chain

list1 = [1, 2, 3]
list2 = [1, 2, 3]
list3 = [1, 2, 3]

total = [list1, list2, list3] 
result = chain.from_iterable(total)
>>> list(result)
[1, 2, 3, 1, 2, 3, 1, 2, 3]

Другой простой способ сделать это (без дополнительных либ):

list1 = [1,2,3]
list2 = [1,2,3]
list3 = [1,2,3]

result = [*list1,*list2,*list3]

print(result)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
Вернуться на верх