Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как в python list добавить в list?

  1. Как в python list добавить в list?

    Привет народ! Вопрос давно мучает, вот хочу разобраться раз и навсегда. Как лучше (и правильней) добавить один список в другой в python? Например, есть два списка: list1 и list2, и я хочу их объединить. Какие есть варианты и какой лучше использовать? Если есть отличия в разных версиях Python, тоже поделитесь, плиз. Примеры кода приветствуются, жду от вас годноты!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Примерно так можно:

    Программный код:
    list1 = [123]
    list2 = [456]
    list1.extend(list2)
    print(
    list1)  # [1, 2, 3, 4, 5, 6] 
    Метод extend() добавляет элементы второго списка в конец первого.

  4. Цитата Сообщение от NanoWarrior
    Привет! Примерно так можно:

    Программный код:
    list1 = [123]
    list2 = [456]
    list1.extend(list2)
    print(
    list1)  # [1, 2, 3, 4, 5, 6] 
    Метод extend() добавляет элементы второго списка в конец первого.
    Да, extend - это тема, сам часто юзаю. Быстро и удобно, главное - не забывать, что он работает in-place.

  5. Если честно, можно просто оператором + схлопнуть два списка. Пример:

    Программный код:
    list1 = [123]
    list2 = [456]
    list3 list1 list2
    print(list3)  # [1, 2, 3, 4, 5, 6] 

  6. Цитата Сообщение от KatyaWizard
    Если честно, можно просто оператором + схлопнуть два списка. Пример:

    Программный код:
    list1 = [123]
    list2 = [456]
    list3 list1 list2
    print(list3)  # [1, 2, 3, 4, 5, 6] 
    О, + тоже круто, но не забудь, что он создаёт новый список, так что если память экономишь, можно посмотреть на другие методы.

  7. В Python есть ещё один способ - использовать itertools.chain. Это полезно, если много списков или работать с большими данными, тогда память можно сэкономить:

    Программный код:
    from itertools import chain
    list1 
    = [123]
    list2 = [456]
    result = list(chain(list1list2))
    print(
    result)  # [1, 2, 3, 4, 5, 6] 

  8. Цитата Сообщение от MaxMoon
    В Python есть ещё один способ - использовать itertools.chain. Это полезно, если много списков или работать с большими данными, тогда память можно сэкономить:

    Программный код:
    from itertools import chain
    list1 
    = [123]
    list2 = [456]
    result = list(chain(list1list2))
    print(
    result)  # [1, 2, 3, 4, 5, 6] 
    Ого, только узнал про itertools.chain. Выглядит полезно, особенно если списков много.

  9. Я тут всё обмозговал и вспомнил про ещё один метод, прям из старой школы - append. Только надо будет объединим по элементам:

    Программный код:
    list1 = [123]
    list2 = [456]
    for 
    item in list2:
        
    list1.append(item)
    print(
    list1)  # [1, 2, 3, 4, 5, 6] 
    Это чуть медленнее works, но зато прям понятно.

  10. Цитата Сообщение от Лебедь
    Я тут всё обмозговал и вспомнил про ещё один метод, прям из старой школы - append. Только надо будет объединим по элементам:

    Программный код:
    list1 = [123]
    list2 = [456]
    for 
    item in list2:
        
    list1.append(item)
    print(
    list1)  # [1, 2, 3, 4, 5, 6] 
    Это чуть медленнее works, но зато прям понятно.
    Ну да, ясность важна, особенно когда код читают другие. Append тоже норм тема, если не смущает цикл.

Страница 1 из 2 12 ПоследняяПоследняя