Как объединить два списка в Python?

Как объединить два списка в Python Программирование и разработка

Метод расширения Python предлагает программистам возможность расширить уже существующий список элементами второго списка. Важно отметить, что добавляемые элементы добавляются в конец списка — если вы хотите добавить элемент в определенный индекс списка или просто добавить отдельные элементы, лучшим выбором будет вставка Python или добавление Python.

Расширение Python — как это работает и синтаксис

Работа extend()очень проста — метод берет список и добавляет в конец второй список, так что первый элемент второго списка идет сразу после последнего элемента первого списка. Отсюда первый список расширяется элементами второго списка. Программисты называют этот процесс конкатенацией. Синтаксис extend()прост, как показано в следующей строке кода:

liste.extend(liste2)

В этом примере элементы from добавляются liste2в конец liste. Однако новый список со всеми элементами не возвращается — вместо этого напрямую изменяется исходный список. В отличие от исходного, второй список не модифицируется. Функциональность иллюстрируется на следующем конкретном примере:extend()

liste = ["eins", "zwei", "drei"]
liste2 = ["vier", "fuenf", "sechs"]
liste.extend(liste2)
print(liste) # Ausgabe: ['eins', 'zwei', 'drei', 'vier', 'fuenf', 'sechs']
liste.extend([7, 8, 9])
print(liste) # Ausgabe: ['eins', 'zwei', 'drei', 'vier', 'fuenf', 'sechs', 7, 8, 9]

Как видно, метод ведет себя именно так, как ожидалось. Вы можете либо заранее создать список, который будет добавлен как объект, либо передать его непосредственно в качестве параметра при вызове метода. В примере также показано, что добавляемые элементы списков могут иметь любой тип данных. Это возможно, потому что список Python может быть неоднородным, то есть он может содержать элементы разных типов данных.

Хотя чаще всего он используется для объединения двух списков, существуют и другие применения этого метода, о которых вам следует знать. Метод extend принимает в качестве параметров не только списки, но и все итерируемые объекты (объекты, содержащие элементы, по которым можно выполнять итерацию). Эти итерации включают, среди прочего, списки Python, строки Python и словари Python. При вызове любой итерируемый объект может быть передан в качестве параметра. Затем компоненты итерации добавляются в список один за другим. Это свойство проиллюстрировано в следующем примере.extend()extend()

chars = ['a', 'b', 'c']
string = "def"
chars.extend(string)
print(chars) # Ausgabe: ['a', 'b', 'c', 'd', 'e', 'f']

В этом примере в качестве аргумента была передана строка (строка символов). Отдельные компоненты строки (символы) добавлялись в список по отдельности.

Альтернативы расширению Python

Метод extend дает вам элегантный способ расширить список элементами другого списка. Тем не менее, есть несколько альтернатив, о которых вам следует знать.

Читайте также:  "Эффективные подходы и стратегии разработки с активными паттернами в языке F"

Оператор сложения

Оператор сложения (или знак плюс) — один из наиболее распространенных операторов Python, который чаще всего используется для сложения двух чисел. Однако его можно использовать и для других целей в Python, в том числе для слияния списков. С помощью оператора сложения можно даже присоединиться к любому количеству списков одновременно. Это показано в следующем примере:

europa = ["Deutschland", "Finnland"]
asien = ["China", "Indien"]
afrika = ["Sudan", "Mali"]
laender = europa + asien + afrika
print(europa) # Ausgabe: ['Deutschland', 'Finnland']
print(asien) # Ausgabe: ['China', 'Indien']
print(afrika) # Ausgabe: ['Sudan', 'Mali']
print(laender) # Ausgabe: ['Deutschland', 'Finnland', 'China', 'Indien', 'Sudan', 'Mali']

Как видно, этот подход дает почти такой же результат, как и, но есть одно очень важное отличие. В отличие от метода extend оператор сложения не модифицирует ни один из переданных списков — вместо этого результат возвращается в виде нового списка. Поскольку для этого в памяти создается новый объект, оператор сложения немного менее эффективен, чем метод extend при соединении двух списков. Это следует учитывать, если вы работаете с очень большими списками или хотите, чтобы ваша программа была максимально эффективной.extend()

Метод добавления

Метод append работает аналогично, но отличается тем, что он может добавить только один элемент в список. Точно так же невозможно передать итерацию этому методу. В качестве иллюстрации служит следующий пример:extend()

list = [0, 1, 1, 2]
list.extend([3])
print(list) # Ausgabe: [0, 1, 1, 2, 3]
list.append(5)
print(list) # Ausgabe: [0, 1, 1, 2, 3, 5]

Здесь и возвращает тот же результат, за исключением того, что вам не нужно указывать добавляемый элемент в квадратных скобках. Однако, если вы хотите добавить несколько элементов в список с помощью, вам придется пройтись по существующему списку с помощью цикла Python for. Поэтому это имеет смысл только в том случае, если это действительно всего один элемент.extend().

Оцените статью
Блог о программировании
Добавить комментарий