Как добавить несколько значений в список в Python

177

Я пытаюсь выяснить, как добавить несколько значений в список в Python. Я знаю, что есть несколько способов сделать это, например, ввести значения вручную или выполнить операцию добавления в forцикле, или appendи extendфункции.

Тем не менее, мне интересно, есть ли более аккуратный способ сделать это? Может быть, определенный пакет или функция?

ChangeMyName
источник
8
Вы уже нашли документацию по списку ?
Мартин Питерс
5
Вы сказали, что знаете, что есть несколько способов сделать это , но не показывайте, что вы пытались, или объясняете, почему методы, которые вы знаете, недостаточно хороши.
бесполезно
Пожалуйста, определите более аккуратно, чемextend() .
Фредерик Хамиди
3
@ FrédéricHamidi more neat == additional package dependency, конечно!
hexparrot
1
Как этот вопрос можно считать не по теме?
Виктор Шредер

Ответы:

356

Вы можете использовать метод sequence,list.extend чтобы расширить список несколькими значениями из любого вида итерации, будь то другой список или любая другая вещь, предоставляющая последовательность значений.

>>> lst = [1, 2]
>>> lst.append(3)
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]

>>> lst.extend([5, 6, 7])
>>> lst.extend((8, 9, 10))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> lst.extend(range(11, 14))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

Таким образом, вы можете использовать list.append()для добавления одного значения и list.extend()для добавления нескольких значений.

совать
источник
1
Немного сложно представить генераторы кому-то в первый день использования Python.
Даниэль Роузман
1
@DanielRoseman Моя точка зрения заключается в том, что значения могут быть получены из любого вида итерируемой последовательности.
тыкай
6
Обратите внимание, что расширение не сохраняет структуру добавляемого элемента по сравнению с append(). С вашим примером использования append, вы получите [1, 2, 3, 4, [5, 6, 7], (8, 9, 10), range(11, 14)]. Питон 3
Йохан Обадия
1
@YohanObadia Если это было так для Python 3 в 17 году, это уже не так - Python 3.7.7 делает именно то, что описал poke.
Post169
28

Помимо appendфункции, если под «множественными значениями» вы подразумеваете другой список, вы можете просто объединить их следующим образом.

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
ползунок
источник
9

Если вы посмотрите на официальные документы , вы увидите справа внизу append, extend. Это то, что вы ищете.

Есть также, itertools.chainесли вы более заинтересованы в эффективной итерации, чем в конечном итоге с полностью заполненной структурой данных.

Сайлас Рэй
источник