Давайте рассмотрим популярные функции для работы со списками Python. Чаще всего начинающие программисты для сортировки реверса значений списка создают свои пользовательские функции. Это работа называется описанием существующих функций. Это лишняя работа. Перед тем как писать функции необходимо посмотреть существующие внутренние функции. Обычно подобные функции уже существуют для простых операций со списками. Используйте поисковики: yandex, google.
#!/usr/bin/python3
arr = [1,2,3]
# добавление элементов в конец списка
arr.append(4)
print(list(arr))
'''
вывод:
[1, 2, 3, 4]
'''
Для добавления в конец списка воспользуйтесь функцией extend.
arr = [1,2,3]
# добавление второго списка в конец
b=['a','b','c']
arr.extend(b)
print(list(arr))
'''
вывод:
[1, 2, 3, 'a', 'b', 'c']
'''
Если вам нужно вставить элементы в определённую позицию, то применяйте функцию insert. Я специально вставил элемент 10 во вторую позицию, а не в первую. Это для понимания.
arr = [1,2,3]
# вставляет элемент 10 в позицию перед индексом 1 в списке
arr.insert(1,10)
print(list(arr))
'''
вывод:
[1, 10, 2, 3]
'''
Вы можете удалить элемент списка по значению. Если одинаковых значений для удаления будет много, то они тоже будут удалены.
arr = [1,2,3]
# удаляет первый элемент 1 из списка
arr.remove(1)
print(list(arr))
'''
вывод:
[2, 3]
'''
Функция pop работает не так как в PHP. Она возвращает удалённый элемент и удаляет его из списка. Делает два действия сразу.
arr = [1,2,3]
# удаляет элемент с индексом 1 и возвращает его
res = arr.pop(1)
print(list(arr), 'удалено: ' + str(res))
'''
вывод:
[1, 3] удалено: 2
'''
Функция index возвращает индекс(позицию) первого найденного элемента в списке. Позиция значения(3) 2, а не 3. Это потому что отсчёт позиций элементов ведётся от 0 (0,1,2,3...)
arr = [1,2,3]
# возвращает индекс(позицию) первого найденного элемента в списке.
index = arr.index(3)
print('index' , index)
'''
вывод:
index 2
'''
Для подсчёта количества выбранного элемента существует функция count. Я специально размножил значение 2 в списке.
arr = [1,2,3,2,2]
# возвращает кол-во вхождений элемента 2 в список
count_element = arr.count(2)
print(count_element)
'''
вывод:
3
'''
Вы можете отсортировать элементы списка по возрастанию. Если хотите отсортировать числа по убыванию, то после сортировки примените функцию reverse. Ниже смотрите пример. Сортировать числа можно и нужно, но сортировать строки нельзя. Перед тем как применить сортировку проверьте элементы списка на наличие строковых значений.
arr = [2,1,3]
# сортирует элементы списка по возрастанию
arr.sort()
'''
если будет так: arr = [2,1,3,'string']
Traceback (most recent call last):
File "./list.py", line 58, in
arr.sort()
TypeError: unorderable types: str() < int()
'''
print(list(arr))
'''
вывод:
[1, 2, 3]
'''
Вы можете использовать сортировку и реверс совместно. Посмотрите на пример.
arr=[1,2,5,3,6]
arr.sort(reverse=True)
print(arr)
#вывод:[6, 5, 3, 2, 1]
arr.sort(reverse=False)
print(arr)
#вывод: [1, 2, 3, 5, 6]
Функция reverse поможет перевернуть позиции значений списка задам наперёд. Это очень удобно.
arr = [1,2,3]
# переворачивает порядок следования элементов
arr.reverse()
print(list(arr))
'''
вывод:
[3, 2, 1]
'''
Давайте как начинающие программисты опишем функцию list. Это не благодарное занятие, но для обучения хорошо подойдёт.
def get_arr(param):
'''
get_arr - функция для вывода значений списка
'''
for key in param:
print(key)
arr = ['Python', 'Ruby','PHP','Javascript',1,2,3]
get_arr(arr)
'''
вывод:
Python
Ruby
PHP
Javascript
1
2
3
'''
Для очистки списка используйте функцию clear. Она полностью очищает список.
arr = [1,2,3,4]
arr.clear()
print(list(arr))
print('кол-во:', len(arr))
'''
вывод:
[]
кол-во: 0
'''