Stepik: Методы списков
Метод append()
- добавляет новый элемент в конец списка. Меняет сам искомый список.
Можно добавлять любые объекты, но только по одному.
a = [1, -54, 3, 23, 43, -45, 0] a.append(100) print(a) # Вывод: [1, -54, 3, 23, 43, -45, 0, 100] a = [1, -54, 3, 23, 43, -45, 0] a.append(True) a.append([1, 2, 3]) print(a) # Вывод: [1, -54, 3, 23, 43, -45, 0, True, [1, 2, 3]]
Метод insert()
- позволяет вставлять в список в определённую позицию определённый объект
a = [1, -54, 3, 23, 43, -45, 0] # вставим между 3 и 23 число (-1000), то есть на место 23 a.insert(3, -1000) print(a) # Вывод: [1, -54, 3, -1000, 23, 43, -45, 0]
Для удаления элемента существует несколько методов
Метод для удаления remove()
- позволяет удалять по значению элемента
a = [1, -54, 3, 23, 43, -45, 0, True, [1, 2, 3]] a.remove(True) print(a) # Вывод: [-54, 3, 23, 43, -45, 0, True, [1, 2, 3]] # True осталось, но первая 1 отсутвует. # Происходит это потому, что булевые значения приводяться # к числовым значениям (True = 1, False = 0). a.remove(True) print(a) # Вывод: [-54, 3, 23, 43, -45, 0, [1, 2, 3]]
Если с помощью метода remove()
удалять объект, которого нет в списке, то он выдаст исключение
a = [1, -54, 3, 23, 43, -45, 0, True, [1, 2, 3]] a.remove('hello') print(a) # Вывод: ValueError: list.remove(x): x not in list
Метод для удаления pop()
. Если записывать этот метод без аргумента, то происходит удаления последнего элемента списка.
Так же этот метод удаляет возвращаемый элемент
a = [1, -54, 3, 23, 43, -45, 0] p = a.pop() print(a) # Вывод: [1, -54, 3, 23, 43, -45] print(p) # Вывод: 0
Методом pop()
можно удалять любой элемент по его индексу
a = [1, -54, 3, 23, 43, -45, 0] p = a.pop(3) # удаляем 23 с индексом 3 print(a) # Вывод: [1, -54, 3, 43, -45, 0] print(p) # Вывод: 23 print(type(p)) # Вывод: <class 'int'>
Метод clear()
полностью удаляет все элементы из списка (очищает список).
a = [1, -54, 3, 23, 43, -45, 0] a.clear() print(a) # Вывод: []
Метод copy()
позволяет создавать копию данного списка
a = [1, -54, 3, 23, 43, -45, 0] c = a.copy() print(id(a), id(c)) # Вывод: 1771116378304 1771116378880 # НАПОМИНАНИЕ: КОПИИ МОЖНО СОЗДАВАТЬ И ТАКИМ СПОСОБОМ s = a[:] f = list(a) print(id(a), id(c), id(s), id(f)) # Вывод: 1771116378304 1771116378880 1771117880000 1771117930496
Метод count()
позволяет найти число элементов с указанным значением
a = [1, -54, 3, 23, 43, -45, 0] print(a.count(1)) # Вывод: 1 a.append(1) print(a.count(1)) # Вывод: 2
Метод index()
- позволяет определять индекс определённого значения
Возвращает индекс первого найденного элемента
a = [1, -54, 3, 23, 43, -45, 3, 0] print(a.index(3)) # Вывод: 2 - то есть метод нашел первую тройку с индексом 2 и вывел. Остальные не ищет
Чтобы найти вторую тройку, нужно указать методу еще один аргумент - стартовое значение, откуда ищем
a = [1, -54, 3, 23, 43, -45, 3, 0] print(a.index(3, 3)) # Вывод: 6 - тройка с индексом 6
Метод reverse()
-меняет порядок следования на обратный
a = [1, -54, 3, 23, 43, -45, 3, 0] a.reverse() print(a) # Вывод: [0, 3, -45, 43, 23, 3, -54, 1]
Метод sort()
- выполняет сортировку значений по возрастанию
a = [1, -54, 3, 23, 43, -45, 3, 0] a.sort() print(a) # Вывод: [-54, -45, 0, 1, 3, 3, 23, 43]
Для того, чтобы сделать сортировку по убыванию reverse = True
a = [1, -54, 3, 23, 43, -45, 3, 0] a.sort(reverse = True) print(a) # Вывод: [43, 23, 3, 3, 1, 0, -45, -54]