Есть несколько способов объединить два списка в Python:
list1 + list2 (создает новый список)list1.extend(list2) (изменяет list1)[*list1, *list2] (создает новый список, начиная с Python 3.5)Существует несколько способов объединить два списка в Python. Рассмотрим самые распространенные и эффективные методы:
+ (Concatenation):Самый простой и интуитивно понятный способ. Создает новый список, являющийся объединением исходных списков.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
merged_list = list1 + list2
print(merged_list)  # Вывод: [1, 2, 3, 4, 5, 6]
Плюсы: Простота и читаемость.
Минусы: Создает новый список, что может быть неэффективно при работе с большими списками.
extend():Изменяет существующий список, добавляя в него элементы другого списка. Более эффективен по памяти, чем оператор +, если вам не нужен новый список.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)  # Вывод: [1, 2, 3, 4, 5, 6]
Плюсы: Изменяет существующий список, экономит память.
Минусы: Изменяет исходный список (может быть нежелательно в некоторых случаях).
*):Этот способ позволяет создать новый список, используя распаковку элементов из исходных списков. Может быть удобен для объединения нескольких списков одновременно.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
merged_list = [*list1, *list2]
print(merged_list)  # Вывод: [1, 2, 3, 4, 5, 6]
# Объединение нескольких списков
list3 = [7, 8, 9]
merged_list = [*list1, *list2, *list3]
print(merged_list)  # Вывод: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Плюсы: Гибкость, возможность объединения нескольких списков одновременно, создает новый список.
Минусы: Может быть менее читаемым, чем оператор +, если объединяются только два списка.
Можно использовать для более сложного объединения списков, например, если нужно применить какую-то фильтрацию или преобразование к элементам.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
merged_list = [item for sublist in [list1, list2] for item in sublist]
print(merged_list) # Вывод: [1, 2, 3, 4, 5, 6]
# Пример с фильтрацией: объединить только четные числа из двух списков
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
merged_list = [item for sublist in [list1, list2] for item in sublist if item % 2 == 0]
print(merged_list) # Вывод: [2, 4, 6, 8]
Плюсы: Гибкость, возможность применения логики во время объединения.
Минусы: Может быть менее читаемым для простых объединений.
Рекомендации:
+ (если требуется новый список) или метод extend() (если можно изменить существующий список).*) или генератор списков.extend() обычно наиболее эффективен.