list в Python
Расскажу всё
Способы создания списка
my_list = list() # пустой список
my_list = [] # пустой список
my_list = [,] # так нельзя ❌
my_list = list("hello") # ['h', 'e', 'l', 'l', 'o']
# сделать список из любого итерируемого объекта
my_list = [1, 2, 3]
my_list = [1, "hello", True, 4.5, ["a", "b", "c"], ("1", "hey")]
# может содержать любые типы данных,
# в том числе вложенные списки и кортежи
Методы list
append(el1, el2, el3, ..., elN) -> None
- добавляет элементы в конец списка
my_list = [1, 2, 3]
my_list.append(4, 5, 6)
print(my_list) # [1, 2, 3, 4, 5, 6]
my_list = [1, 2, 3]
my_list.append([4, 5, 6])
print(my_list) # [1, 2, 3, [4, 5, 6]]
extend(arr) -> None
- добавляет элементы из аргументного списка в конец списка
my_list = [1, 2, 3]
my_list.extend([4, 5, 6])
print(my_list) # [1, 2, 3, 4, 5, 6]
my_list = [1, 2, 3]
my_list.extend("text")
print(my_list) # [1, 2, 3, 't', 'e', 'x', 't']
Ошибки:
my_list = [1, 2, 3]
my_list.extend(1)
# TypeError: 'int' object is not iterable
my_list = [1, 2, 3]
my_list.extend(1, 2, 3)
# TypeError: list.extend() takes exactly one argument (3 given)
pop(index = -1) -> el
- удаляет последний или по индексу элемент из списка, возвращая его
my_list = [1, 2, 3]
my_list.pop() # 3
print(my_list) # [1, 2]
Ошибки:
my_list = []
my_list.pop()
# IndexError: pop from empty list
my_list = [1, 2, 3]
my_list.pop(10)
# IndexError: pop index out of range
remove(el) -> None
- удаляет первый элемент с заданным значением
my_list = [1, 2, 3]
my_list.remove(1)
print(my_list) # [2, 3]
my_list = [1, 2, 1, 3]
my_list.remove(1)
print(my_list) # [2, 1, 3]
my_list.remove(1)
print(my_list) # [2, 3]
Ошибки:
my_list = [1, 2, 3]
my_list.remove(4)
# ValueError: list.remove(x): x not in list
insert(index, el) -> None
- добавляет элемент в список по индексу (добавленный элемент становится под индекс, старый элемент сдвигается вправо)
my_list = [1, 2, 3]
my_list.insert(0, 0)
print(my_list) # [0, 1, 2, 3]
my_list = [1, 2, 3]
my_list.insert(2, "hello")
print(my_list) # [1, 2, "2", 3]
my_list = [1, 2, 3]
my_list.insert(100, 7) # если индекс больше длины списка, то просто добавляется в конец списка
print(my_list) # [1, 2, 3, 100]
my_list = [1, 2, 3]
my_list.insert(-1, 0)
print(my_list) # [1, 2, 0, 3]
index(el) -> int
- возвращает индекс первого вхождения элемента в список
my_list = [1, 2, 3]
my_list.index(2) # 1
my_list = [1, 2, 3, 2]
my_list.index(2) # 1
Ошибки:
my_list = [1, 2, 3]
my_list.index(4) # ValueError: 4 is not in list
count(el) -> int
- возвращает количество вхождений элемента в список
my_list = [1, 2, 3, 2]
my_list.count(2) # 2
my_list = [1, 2, 3]
my_list.count(4) # 0
arr[index] -> el
- возвращает элемент по индексу
my_list = [1, 2, 3]
my_list[0] # 1
Ошибки:
my_list = [1, 2, 3]
my_list[10] # IndexError: list index out of range
min(arr_or_el, arr_or_el, ..., default=..., key=...) -> el
- возвращает минимальное значение из списка
max(arr_or_el, arr_or_el, ..., default=..., key=...) -> el
- возвращает максимальное значение из списка
min([1, 2, 3]) # 1
min(1, 2, 3) # 1
min([], default=1) # 1
def k(x):
print("hmm", x)
return str(x)
min(1, 2, "hello", key=k) # сортирует по алфавиту
# hmm 1
# hmm 2
# hmm hello
# возвращает 1
Ошибки:
min([]) # TypeError: min() arg is an empty sequence
min(1, 2, "hello")
# TypeError: '<' not supported between instances of 'str' and 'int'
min()
min(default=0)
# TypeError: min expected at least 1 argument, got 0