MyTetra Share
Делитесь знаниями!
Распространенные операции со списками (list) в Python
Время создания: 19.08.2018 10:52
Автор: br0ke
Текстовые метки: python, list, create, list comprehension, comprehension, append, extend, remove, pop, clear, sort, sorted, key, len, index, count, in
Раздел: Информационные технологии - Python - Основы языка
Запись: and-semakin/mytetra_data/master/base/1534657974mn31uwhuax/text.html на raw.githubusercontent.com

Создать пустой список:

>>> lst = []
>>> lst = list()

Создать список со значениями:

>>> lst = [1, 3, 7, 15]
>>> lst = list((1, 3, 7, 15))

Создать список из range():

>>> lst = list(range(1, 15, 2))

Списковое включение:

>>> capitals = ['moscow', 'london', 'new york', 'tokyo']
>>> [city.title() for city in capitals]
['Moscow', 'London', 'New York', 'Tokyo']


Длина списка:

>>> lst
[1, 3, 5, 7, 9, 11, 13]
>>> len(lst)
7

Доступ по индексу:

>>> lst[0]
1
>>> lst[0] = 9999
>>> lst
[9999, 3, 5, 7, 9, 11, 13]

Доступ по срезу:

>>> lst[:3]
[9999, 3, 5]

>>> lst[:3] = [-1, -2, -3]
>>> lst
[-1, -2, -3, 7, 9, 11, 13]

Добавить элемент в конец списка:

>>> lst.append(9999)
>>> lst
[-1, -2, -3, 7, 9, 11, 13, 9999]

Добавить итерируемый объект в конец списка (или склеить списки):

>>> lst1 = list(range(0, 10, 2))

>>> lst1
[0, 2, 4, 6, 8]
>>> lst2 = list(range(1, 10, 2))
>>> lst2
[1, 3, 5, 7, 9]
>>>
>>> lst1.extend(lst2)
>>> lst1
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]

Добавить элемент в определенную позицию списка:

>>> lst2.insert(1, 9999)
>>> lst2
[1, 9999, 3, 5, 7, 9]

Извлечь последний элемент и удалить его:

>>> lst2.pop()
9
>>> lst2
[1, 9999, 3, 5, 7]

Извлечь элемент по индексу и удалить его:

>>> lst2.pop(1)
9999
>>> lst2
[1, 3, 5, 7]

Удалить элемент по индексу:

>>> del lst2[3]
>>> lst2
[1, 3, 5]

Удалить элемент по значению:

>>> lst2.extend([5, 5])
>>> lst2
[1, 3, 5, 5, 5]
>>>
>>> lst2.remove(5)
>>> lst2.remove(5)
>>> lst2.remove(5)
>>> lst2
[1, 3]
In [46]: lst2.remove(5)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-46-6bbc045ac0a9> in <module>()
----> 1 l2.remove(5)

ValueError: list.remove(x): x not in list

Очистить список:

>>> lst2.clear()
>>> lst2
[]

Проверить наличие элемента в списке:

>>> 5 in lst1
True

>>> 55 in lst1
False

Найти индекс элемента в списке по значению:

>>> lst1.index(5)
7
>>>
>>> lst1.index(15)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-53-8abc18ca4876> in <module>()
----> 1 l1.index(15)

ValueError: 15 is not in list


Найти число вхождений элемента в список:

>>> lst1.count(5)
1

Отсортировать список на месте:

>>> lst1
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
>>>
>>> lst1.sort()
>>> lst1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


Отсортировать список с созданием копии:

>>> sorted(lst1, reverse=True)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>>
>>> lst1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Отсортировать с указанием ключа:

>>> capitals
['moscow', 'london', 'new york', 'tokyo']
>>> sorted(capitals, key=len)
['tokyo', 'moscow', 'london', 'new york']

Перевернуть список:

>>> lst1.reverse()
>>> lst1
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]


Скопировать список:

>>> capitals.copy()
['moscow', 'london', 'new york', 'tokyo']
>>>

>>> capitals[:]
['moscow', 'london', 'new york', 'tokyo']

 
MyTetra Share v.0.59
Яндекс индекс цитирования