Как я могу объединить несколько неизвестных списков вместе?

#python #list #append

Вопрос:

Основываясь на количестве запусков цикла for, я получаю несколько списков. Я хочу объединить все эти списки и составить один список.

например:

 list = []  for i in item:  list.append(i) print(list)  

Как я могу объединить весь список, который я получаю, в один список ?

Комментарии:

1. Что такое предмет в данном случае? Как вы думаете, вы могли бы создать рабочий пример, показывающий результат, который он дает, а также желаемый результат??

2. пунктом может быть любой другой список, не имеет значения. Я добавляю значения i в список, и я продолжаю получать список, а номер списка, который я получаю, неизвестен. Поэтому я хочу объединить их все вместе в конце.

Ответ №1:

Если ваш элемент представляет собой список списков, то вы можете использовать extend его для достижения того же самого.

 lst = []   for i in item:  lst.append(i)  out = [] for sublist in lst:  out.extend(sublist)  print(out)  

Кроме того, избегайте использования ключевых слов python, таких как list имя переменной, вместо этого используйте что-то вроде lst.

Комментарии:

1. не работает для моего варианта использования.

2. Итак, на самом деле это похоже на то, что я продолжаю получать выходные данные в виде списка единиц для выполнения цикла. Так что это похоже на то, что я хочу объединить все выходные данные/списки и добавить в 1 список. Ваше решение, похоже, не работает для этого. Что-нибудь еще ?

Ответ №2:

Вам следует избегать использования list в качестве имени переменной, это зарезервированное слово для списков python.

Этот код должен работать для вас:

 list_ = [] f_list = []  item = [1,2,3,4,5]  for i in item:  list_.append(i)  f_list.extend(list_)  print(list_) print("Final list - ", f_list)  

Выход:

 [1] [1, 2] [1, 2, 3] [1, 2, 3, 4] [1, 2, 3, 4, 5] Final list - [1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5]