List: примеры (PYTHON)

Функция list для создания списков в Python
Раздел: Встроенные функции, Создание коллекций
list(iterable): list

Основные характеристики функции list

Функция list() в Python представляет собой конструктор встроенного типа list, предназначенный для создания списков из итерируемых объектов или для формирования пустых списков. Эта функция часто применяется для преобразования различных последовательностей и коллекций в изменяемый список.

Сигнатура функции содержит один необязательный параметр: list([iterable]). Аргумент iterable может быть любым объектом, поддерживающим итерацию - строкой, кортежем, множеством, словарем, диапазоном или генератором. При отсутствии аргумента возвращается пустой список.

Возвращаемое значение - новый объект типа list, содержащий элементы исходного итерируемого объекта в том же порядке. Для словарей функция возвращает список ключей. Созданный список является изменяемым, поддерживает индексацию и различные методы модификации.

Примеры использования функции

Преобразование строки в список символов:

list('Python')
['P', 'y', 't', 'h', 'o', 'n']

Создание списка из кортежа:

list((1, 2, 3))
[1, 2, 3]

Работа со словарем:

list({'a': 1, 'b': 2})
['a', 'b']

Использование с диапазоном:

list(range(3))
[0, 1, 2]

Создание пустого списка:

list()
[]

Похожие функции в Python

tuple() создает неизменяемый кортеж из итерируемого объекта. Кортежи занимают меньше памяти и могут использоваться в качестве ключей словаря.

set() формирует множество, удаляя дубликаты элементов и не сохраняя порядок.

[ ] - литерал списка позволяет создавать списки напрямую без вызова функции, что удобнее для небольших фиксированных списков.

list comprehension предоставляет более выразительный способ создания списков с преобразованием элементов и фильтрацией.

Аналоги функции в других языках

JavaScript: Array.from() или оператор расширения [...iterable].

Array.from('hello');
// ['h', 'e', 'l', 'l', 'o']

PHP: iterator_to_array() или (array) приведение типа.

iterator_to_array(new ArrayIterator([1, 2]));
// [1, 2]

Java: создание ArrayList через конструктор с коллекцией.

new ArrayList<>(Arrays.asList(1, 2, 3));

C#: метод ToList() из пространства имен System.Linq.

new List {1, 2, 3};

Golang: необходимо явное преобразование с циклом, так как строгая типизация.

var s = []int{1, 2, 3}

Типичные ошибки при использовании

Передача неитерируемого объекта вызывает TypeError:

list(123)
TypeError: 'int' object is not iterable

Попытка преобразования многомерных структур требует дополнительной обработки:

matrix = [[1,2], [3,4]]
list(matrix)  # Создает список из двух списков
[[1, 2], [3, 4]]

Потеря данных при преобразовании множеств из-за неупорядоченности:

list({3, 1, 2})
[1, 2, 3]  # Порядок может отличаться

Изменения в последних версиях Python

В Python 3.9 добавлена поддержка аннотаций типов для конструктора list. Начиная с Python 3.10, улучшены сообщения об ошибках при передаче неитерируемых объектов. Специфических изменений в поведении функции list в последних версиях не зафиксировано, что демонстрирует стабильность этого базового компонента языка.

Расширенные примеры использования

Преобразование генератора в список с сохранением вычисленных значений:

Пример python
gen = (x**2 for x in range(5))
list(gen)
[0, 1, 4, 9, 16]

Создание списка из enumerate объекта с индексами:

Пример python
list(enumerate(['a', 'b', 'c']))
[(0, 'a'), (1, 'b'), (2, 'c')]

Использование с zip для транспонирования матрицы:

Пример python
rows = [[1, 2], [3, 4]]
list(zip(*rows))
[(1, 3), (2, 4)]

Преобразование map объекта после применения функции:

Пример python
list(map(str.upper, ['a', 'b']))
['A', 'B']

Работа с файлом: преобразование строк файла в список:

Пример python
with open('data.txt') as f:
    lines = list(f)
['строка1\n', 'строка2\n']

Создание списка из объекта memoryview:

Пример python
data = bytearray(b'hello')
list(memoryview(data))
[104, 101, 108, 108, 111]

питон list function comments

En
List Convert to list