#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]