#!/usr/bin/env python # coding: utf-8 # # Python для сбора данных # # *Алла Тамбовцева* # # ## Методы для списков # Создадим список `a`, с которым будем экспериментировать. Далее данный ноутбук построен в формате вопрос-ответ. # In[1]: a = [1, 2, 3, 3, 5, 9, 0] # ### Как узнать, какой индекс в списке имеет нужный нам элемент? # Воспользоваться методом `.index()`: # In[2]: a.index(2) # *Внимание:* если в списке есть повторяющиеся значения, то будет выведен индекс только первого совпадения (движение по списку происходит слева направо). # In[3]: a.index(3) # 2 - то индекс первой тройки в списке # ### Как узнать, сколько раз нужный нам элемент встречается в списке? # Воспользоваться методом `.count()`: # In[4]: print(a) # In[5]: a.count(1) # In[6]: a.count(3) # ### Как добавить элемент в середину списка (не в конец)? # # Другими словами, как добавить элемент в список, не заменяя никаких значений, например, так: # # *До* # # [1, 2, 3, 3, 5, 9, 0] # # *После* # # [1, 2, 4, 3, 3, 5, 9, 0] # Воспользоваться методом `.insert()`: сначала указывается индекс элемента (на какое место его поставить), а затем сам элемент. # In[7]: print(a) a.insert(2, 4) # на место 2 ставим число 4 print(a) # ### Как удалить из списка ненужный элемент? # Воспользоваться методом `.remove()`: # In[8]: print(a) a.remove(9) # уберем элемент, равный 9 print(a) # *Внимание:* если в списке есть повторяющиеся значения, `.remove()` уберет только первое совпадение: # In[9]: print(a) a.remove(3) # уберем элемент, равный 3 print(a) # *Еще внимание:* метод `.remove()`, как и другие методы, изменяет исходный список! # ### Как удалить из списка элемент с определенным индексом? # Воспользоваться методом `.pop()`. # In[10]: print(a) a.pop(0) print(a) # *Внимание:* метод `.pop()`, как и другие методы, изменяет исходный список! # ### Как отсортировать список? # Воспользоваться методом `.sort()`. # In[11]: print(a) a.sort() print(a) # По умолчанию метод `.sort()` упорядочивает значения в списке по возрастанию. Если нужна сортировка по убыванию, достаточно дописать аргумент `reverse = True`: # In[12]: print(a) a.sort(reverse = True) print(a) # Как и другие методы, `.sort()` изменяет исходный список. Если мы хотим сохранить порядок элементов в исходном списке, можно воспользоваться функцией `sorted`. Тогда порядок элементов в списке сохранится, но при этом будет создан новый список с элементами, отсортированными по возрастанию. # In[13]: b = [3, 8, 9, 1, 2, 6, 0] # In[14]: c = sorted(b) # In[15]: print(b) print(c) # Или по убыванию: # In[16]: d = sorted(b, reverse = True) print(b) print(d)