Как суммировать значения в списке
Есть лист a . Значения a = [10,15,12,16,9,5] Как получить a = [10,25,37,53,62,67] (прибавляя предудыщее число) возможно через np.sum(a) или типа того?
Отслеживать
122k 24 24 золотых знака 124 124 серебряных знака 299 299 бронзовых знаков
задан 9 окт 2020 в 20:04
user395122 user395122
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Первый вариант:
from itertools import accumulate ans = [acc for acc in accumulate([10,15,12,16,9,5])] print(ans) #[10, 25, 37, 53, 62, 67]
Второй вариант:
import numpy as np ans = np.cumsum([10,15,12,16,9,5]) print(ans) # array([10, 25, 37, 53, 62, 67], dtype=int32)
Отслеживать
ответ дан 9 окт 2020 в 20:11
Владислав Харламов Владислав Харламов
1,451 1 1 золотой знак 9 9 серебряных знаков 18 18 бронзовых знаков
Можно же было просто list(accumulate(a)) .
9 окт 2020 в 21:00
A for A in X — is always too redundant in favor of list(X)
10 окт 2020 в 11:29
Вариант с изменением начального списка:
for i in range(1, len(arr)): arr[i] += arr[i - 1]
Вариант без изменения начального списка:
for i in range(1, len(arr) + 1): new_arr.append(sum(arr[:i]))
new_arr = [sum(arr[:i]) for i in range(1, len(arr) + 1)]
Отслеживать
ответ дан 9 окт 2020 в 20:13
19.6k 6 6 золотых знаков 22 22 серебряных знака 56 56 бронзовых знаков
При наличии питона 3.8 можно исхитриться и записать в одну строку: песочница
a = [10,15,12,16,9,5] b = [y := y + x if i else x for i,x in enumerate(a)] print(b)
Впрочем, код так себе.
Отслеживать
ответ дан 9 окт 2020 в 20:54
122k 24 24 золотых знака 124 124 серебряных знака 299 299 бронзовых знаков
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
8 методов для сложения и объединения списков в Python
В этой теме мы обсудим методы для сложения и объединения двух или более списков с разными функциями в Python. Прежде чем перейти к рассмотрению концепций, давайте кратко познакомимся со списком Python. Список Python — это набор нескольких элементов, сгруппированных под одним именем. Он может хранить элементы данных различных типов (целые, строковые, с плавающей запятой и т. д.) внутри квадратных скобок [], разделенных запятой(,).
Программа для печати списка Python
# list of characters List1 = ['A', 'B', 'C', 'D', 'E'] # list of integers List2 = [1, 2, 3, 4, 5,] # mixed lists List3 = ['A', 1, 'C', 'E', 5, 8] print(" Display the List1 ", List1) print(" Display the List2 ", List2) print(" Display the List3 ", List3)
Display the List1 ['A', 'B', 'C', 'D', 'E'] Display the List2 [1, 2, 3, 4, 5] Display the List3 ['A', 1, 'C', 'E', 5, 8]
Когда мы объединяем два или более списков вместе в программе Python, получается объединенный список. И этот процесс называется составлением или объединением списков.
Давайте обсудим различные способы объединения двух или более списков в Python:
- Объединяйте списки в Python с помощью функции join() и разделителей.
- Присоединяйтесь к списку с помощью функции join() без разделителей.
- Присоединяйтесь к списку двух целых чисел в Python с помощью функции map().
- Объедините два списка в Python, используя цикл for и функцию append().
- Объедините несколько списков с помощью метода itertools.chain().
- Соединяйте списки с помощью оператора(+).
- Соедините два списка в Python с помощью оператора умножения(*).
- Объедините списки с помощью функции extend().
Объединение списков с помощью функции join()
Функция join() используется для присоединения повторяющегося списка к другому списку, разделенному указанными разделителями, такими как запятая, символы, дефис и т. д.
str_name.join( iterable)
str_name: это имя разделителя, разделяющего повторяющийся список.
iterable: это список, который содержит набор элементов и объединяется с разделителем.
Возвращаемое значение: возвращает объединенный список, разделенный указанными разделителями.
Примечание. Если итерируемый список содержит какие-либо нестроковые значения или элементы, он вызывает исключение TypeError.
Программа для объединения двух списков с помощью функции join() и разделителя
List1 = [ "Apple", "Orange", "Banana", "Mango", "Grapes" ] Str2 = ", " # It is the comma delimiter # use join() function to join List1 with the " . " delimiter Str2 = Str2.join( List1) # print the join list print(" Display the concatenated List1 using join() function and delimiter", Str2) List2 = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday" ] Str3 = " - " # It is the hyphen delimiter # use join() function to join List2 with the " - " delimiters Str3 = Str3.join( List2) # print the join list print(" Display the concatenated List2 using join() function and delimiter", Str3)
Display the concatenated List1 using join() function and delimiter Apple, Orange, Banana, Mango, Grapes Display the concatenated List2 using join() function and delimiter Sunday - Monday - Tuesday - Wednesday - Thursday
Программа для присоединения к списку без использования разделителя
# declare a python list Lt1 = [ 'j', 'a', 'v', 'a', 't', 'p', 'o', 'i', 'n', 't' ] print( " Display the elements of the List L1 " , Lt1) L2 = ' ' # declare any empty string without defining any delimiter Ret = L2.join( Lt1) # use join method to join L1 list with L2 print( " Display the List without using delimiters", Ret)
Display the elements of the List L1 ['j', 'a', 'v', 'a', 't', 'p', 'o', 'i', 'n', 't'] Display the List without using delimiters j a v a t p o i n t
Присоединение к списку двух целых чисел с помощью функции map()
Целочисленный список: он собирает все целые числа в списке, называемом целочисленным списком, и мы не можем объединить два целочисленных списка в Python с помощью функции join(). Поэтому мы используем функцию map(), которая преобразует целочисленный список в строку. После этого мы используем функцию join() для объединения результатов функции map() с соответствующими разделителями.
map(str, list_name)
В приведенном выше синтаксисе функция map() имеет два параметра: list_name и str. Где list_name — это имя списка целых чисел, а str — строка. Функция map() преобразует list_name в строку (str).
Программа для использования функции map() и функции join() в списке
Давайте создадим программу для преобразования заданного списка целых чисел в строку, используя функцию map(), а затем функцию join() для присоединения к списку.
lt = [1, 2, 3, 4, 5] # use map() function to convert integer list into string list_map = map(str, lt) lt2 = ', ' # use join() function to join lists and delimiter comma(,) res = lt2.join(list_map) print(" Display the concatenated integers list using map() and join() function ", res)
Display the concatenated integers list using map() and join() function 1, 2, 3, 4, 5
Программа для объединения двух списков в Python с помощью цикла for и функции append()
Функция append() используется для последовательного добавления или присоединения каждого элемента повторяющегося списка в конце другого списка с помощью цикла for. Давайте создадим простую программу для добавления элементов списка в конец другого списка с помощью функции append().
List1 = [1, 2, 3, 4, 5] # declare List1 List2 = [5, 6, 7, 8, 9, 10] # declare List2 print(" Given List1 ", List1) print(" Given List2 ", List2) # use for loop to iterate each element of Lt1 to l2 for i in List2: List1.append(i) # use append() function to insert each elements at the end of Lt1 print(" Display concatenation list using append() function ", List1)
Given List1 [1, 2, 3, 4, 5] Given List2 [5, 6, 7, 8, 9, 10] Display concatenation list using append() function [1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10]
Объединение нескольких списков с использованием метода itertools.chain()
Давайте создадим простую программу на Python для объединения нескольких списков с помощью метода chain(), импортировав пакет itertools.
# use Python itertools.chain() method to join two list import itertools # declare different lists a = [1, 2, 3, 4, 5] b = [6, 7, 8, 9, 10] c = [11, 12, 13, 14, 15] print(" Display the first list ", a) print(" Display the second list ", b) print(" Display the third list ", c) # use itertools.chain() method to join the list result = list(itertools.chain(a, b, c)) # pass the result variable in str() function to return the concatenated lists print(" Concatenated list in python using itertools.chain() method ", str(result))
Display the first list [1, 2, 3, 4, 5] Display the second list [6, 7, 8, 9, 10] Display the third list [11, 12, 13, 14, 15] Concatenated list in python using itertools.chain() method [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Программа для объединения двух списков с помощью оператора +
Рассмотрим пример объединения двух списков в Python с помощью оператора(+) плюс.
# Create a program to join two lists in Python using the '+' operator # declare two lists of characters list1 = [ 'A', 'B', 'C', 'D', 'E'] list2 = [ 'F', 'G', 'H', 'I', 'J'] # join two characters lists using '+' operator lt_sum1 = list1 + list2 # declares two lists of integers list3 = [ '1', '2', '3', '4', '5'] list4 = [ '6', '7', '8', '9', '10'] # join two integers lists using '+' operator lt_sum2 = list3 + list4 # display the concatenation list print(" Join two list of characters in Python using + operator: ", str(lt_sum1)) # display the concatenation list print(" Join two list of integers in Python using + operator: ", str(lt_sum2))
Join two list of characters in Python using + operator: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] Join two list of integers in Python using + operator: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
Объединение двух списков с оператором умножения(*)
Рассмотрим пример объединения двух списков в Python с помощью оператора *.
# declare two lists of characters List1 = [ 'A', 'B', 'C', 'D', 'E'] List2 = [ 'F', 'G', 'H', 'I', 'J'] print(" Display character List1 ", List1) print(" Display character List2 ", List2) # join two characters lists using '*' operator lt_sum1 = [*List1, *List2] # declares two lists of integers List3 = [ 1, 2, 3, 4, 5] List4 = [ 6, 7, 8, 9, 10] print(" Display integer List3 ", List3) print(" Display integer List4 ", List4) # join two integers lists using '*' operator lt_sum2 = [*List3, *List4] # display the concatenation list print(" Join two characters list in Python using * operator: "+ str(lt_sum1)) # display the concatenation list print(" Join two integers list in Python using * operator: "+ str(lt_sum2))
Display integer List3 [1, 2, 3, 4, 5] Display integer List4 [6, 7, 8, 9, 10] Join two characters list in Python using * operator: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] Join two integers list in Python using * operator: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Метод extend() для объединения двух списков в Python
Напишем простую программу для объединения двух списков с помощью метода extend() в Python.
# takes two integers lists List1 = [5, 10, 5] List2 = [ 2, 4, 6, 8] print(" Display the List1 ", List1) print(" Display the List1 ", List2) # takes two string lists List3 = [ 'RED', 'BLUE', 'BLACK'] List4 = [ 'BROWN', 'PURPLE', 'GREY' ] print(" Display the List3 ", List3) print(" Display the List4 ", List4) # use extend() method to join two lists List1.extend(List2) List3.extend(List4) # print concatenation lists print( "\n Adding two lists of integers in Python using the extend() function: ", str(List1)) print( "\n Adding two lists of strings in Python using the extend() function: ", str(List3))
Display the List1 [5, 10, 5] Display the List1 [2, 4, 6, 8] Display the List3 ['RED', 'BLUE', 'BLACK'] Display the List4 ['BROWN', 'PURPLE', 'GREY'] Adding two lists of integers in Python using the extend() function: [5, 10, 5, 2, 4, 6, 8] Adding two lists of strings in Python using the extend() function: ['RED', 'BLUE', 'BLACK', 'BROWN', 'PURPLE', 'GREY']
Python-сообщество
![]()
- Начало
- » Python для новичков
- » Как сложить значения словарей в списке
#1 Апрель 16, 2015 17:10:16
slepov Зарегистрирован: 2015-04-04 Сообщения: 11 Репутация: 1 Профиль Отправить e-mail
Как сложить значения словарей в списке
Есть список содержащий словари:
['id': 1, 'val':1>, 'id': 2, 'val':3>, 'id': 1, 'val':4> ]
Если значения `id` одинаковы, то необходимо сложить значения `val`, то есть получить
['id': 1, 'val':5>, 'id': 2, 'val':3> ]
#2 Апрель 16, 2015 20:20:23
botinag Зарегистрирован: 2014-02-20 Сообщения: 179 Репутация: 35 Профиль Отправить e-mail
Как сложить значения словарей в списке
lst = ['id': 1, 'val':1>, 'id': 2, 'val':3>, 'id': 1, 'val':4>] def f(lst): dct = <> for x in lst: if x['id'] in dct: dct[x['id']] += x['val'] else: dct[x['id']] = x['val'] return ['id': x, 'val': y> for x, y in dct.iteritems()]
>>> f(lst)
[, ]
>>> lst = [, , ]
>>> f(lst)
[, ]
#3 Апрель 17, 2015 00:55:09
terabayt От: Киев Зарегистрирован: 2011-11-26 Сообщения: 1099 Репутация: 103 Профиль Отправить e-mail
Как сложить значения словарей в списке
botinag
if x['id'] in dct: dct[x['id']] += x['val'] else: dct[x['id']] = x['val']
dct[x['id']] = dct.get(x['id'], 0) + x['val']
Отредактировано terabayt (Апрель 17, 2015 00:56:23)
#4 Апрель 17, 2015 08:49:59
slepov Зарегистрирован: 2015-04-04 Сообщения: 11 Репутация: 1 Профиль Отправить e-mail
Как сложить значения словарей в списке
А если задачу слегка усложнить, например словари имеют несколько большее количество пар ключ:значение.
['id': 1, 'val':1, 'a': 'd'>, 'id': 2, 'val':3, 'a': 'b' >, 'id': 1, 'val':4, 'a': 'c'> ]
#5 Апрель 17, 2015 09:07:24
terabayt От: Киев Зарегистрирован: 2011-11-26 Сообщения: 1099 Репутация: 103 Профиль Отправить e-mail
Как сложить значения словарей в списке
slepov
А если задачу слегка усложнить, например словари имеют несколько большее количество пар ключ:значение.
и что длать с новыми парами? проверять или складывать?
#6 Апрель 17, 2015 09:18:16
slepov Зарегистрирован: 2015-04-04 Сообщения: 11 Репутация: 1 Профиль Отправить e-mail
Как сложить значения словарей в списке
terabayt
и что длать с новыми парами? проверять или складывать?
Упс… Ошибся в примере.
['id': 1, 'val':1, 'a': 'd'>, 'id': 2, 'val':3, 'a': 'b' >, 'id': 1, 'val':4, 'a': 'd'> ]
Ничего не делать, просто возвращать . Причем пар может быть произвольное количество, но всегда одинаковое во всех словарях списка. При этом будем считать что все пары кроме val имеют зависимость от пары `id`, то есть для одинаковых `id` cчитаем, что все остальные пары в словаре одинаковы.
#7 Апрель 17, 2015 10:58:51
bismigalis Зарегистрирован: 2010-10-02 Сообщения: 449 Репутация: 47 Профиль Отправить e-mail
Как сложить значения словарей в списке
data = ['id': 1, 'val':1, 'a': 'd'>, 'id': 2, 'val':3, 'a': 'b' >, 'id': 1, 'val':4, 'a': 'c'> ] def f(d, x): k = x['id'] if k in d: d[k]['val'] += x['val'] else: d[k] = x return d print reduce(f, data, <>).values()
Примеры работы со списками Python
Список Python — это последовательность значений любого типа: строки, числа, числа с плавающей точкой или даже смешанного типа. В этом материале речь пойдет о функциях списков, о том, как создавать их, добавлять элементы, представлять в обратном порядке и многих других.
Создать списки Python
Для создания списка Python нужно заключить элементы в квадратные скобки:
my_list = [1, 2, 3, 4, 5]
Список может выглядеть так:
my_list = ['один', 'два', 'три', 'четыре', 'пять']
Можно смешивать типы содержимого:
my_list = ['один', 10, 2.25, [5, 15], 'пять']
Поддерживаются вложенные списки как в примере выше.
Получать доступ к любому элементу списка можно через его индекс. В Python используется система индексации, начиная с нуля.
third_elem = my_list[2]
Принцип похож на строки.
Изменение списка
Списки — это изменяемые объекты, поэтому их элементы могут изменяться, или же может меняться их порядок.
Если есть такой список:
my_list = ['один', 'два', 'три', 'четыре', 'пять']
То его третий элемент можно изменить следующим образом:
my_list[2] = 'ноль'
Если сейчас вывести его на экран, то он будет выглядеть вот так:
['один', 'два', 'ноль', 'четыре', 'пять']
Если индекс — отрицательное число, то он будет считаться с последнего элемента.
my_list = ['один', 'два', 'три', 'четыре', 'пять'] elem = my_list[-1] print(elem)
Вывод этого кода — ‘пять’.
Проход (итерация) по списку
Читать элементы списка можно с помощью следующего цикла:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] for elem in my_list: print(elem)
Таким образом можно читать элементы списка. А вот что касается их обновления:
my_list = [1, 2, 3, 4, 5] for i in range(len(my_list)): my_list[i]+=5 print(my_list)
Результат будет следующим:
[6, 7, 8, 9, 10]
Функция len() используется для возврата количества элементов, а range() — списка индексов.
Стоит запомнить, что вложенный список — это всегда один элемент вне зависимости от количества его элементов.
my_list = ['один', 10, 2.25, [5, 15], 'пять'] print(len(my_list))
Результат кода выше — 5 .
Срез списка
Можно получить срез списка с помощью оператора ( : ):
my_list = ['один', 'два', 'три', 'четыре', 'пять'] print(my_list[1:3])
Результат кода выше — [‘два’, ‘три’]
Если убрать первое число, от срез будет начинаться с первого элемента, а если второе — с последнего.
Если убрать числа и оставить только двоеточие, то скопируется весь список.
my_list = ['один', 'два', 'три', 'четыре', 'пять'] print(my_list[1:3]) print(my_list[1:]) print(my_list[:3]) print(my_list[:])
Результат этого года:
['два', 'три'] ['два', 'три', 'четыре', 'пять'] ['один', 'два', 'три'] ['один', 'два', 'три', 'четыре', 'пять']
Поскольку списки изменяемые, менять элементы можно с помощью оператора среза:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] my_list[1:3] = ['Привет', 'Мир'] print(my_list)
['один', 'Привет', 'Мир', 'четыре', 'пять']
Вставить в список
Метод insert можно использовать, чтобы вставить элемент в список:
my_list = [1, 2, 3, 4, 5] my_list.insert(1,'Привет') print(my_list)
[1, 'Привет', 2, 3, 4, 5]
Индексы для вставляемых элементов также начинаются с нуля.
Добавить в список
Метод append можно использовать для добавления элемента в список:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] my_list.append('ещё один') print(my_list)
['один', 'два', 'три', 'четыре', 'пять', 'ещё один']
Можно добавить и больше одного элемента таким способом:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] list_2 = ['шесть', 'семь'] my_list.extend(list_2) print(my_list)
['один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь']
При этом list_2 не поменяется.
Отсортировать список
Для сортировки списка нужно использовать метод sort .
my_list = ['cde', 'fgh', 'abc', 'klm', 'opq'] list_2 = [3, 5, 2, 4, 1] my_list.sort() list_2.sort() print(my_list) print(list_2)
['abc', 'cde', 'fgh', 'klm', 'opq'] [1, 2, 3, 4, 5]
Перевернуть список
Можно развернуть порядок элементов в списке с помощью метода reverse :
my_list = [1, 2, 3, 4, 5] my_list.reverse() print(my_list)
[5, 4, 3, 2, 1]
Индекс элемента
Метод index можно использовать для получения индекса элемента:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] print(my_list.index('два'))
Если в списке больше одного такого же элемента, функция вернет индекс первого.
Удалить элемент
Удалить элемент можно, написав его индекс в методе pop :
my_list = ['один', 'два', 'три', 'четыре', 'пять'] removed = my_list.pop(2) print(my_list) print(removed)
['один', 'два', 'четыре', 'пять'] три
Если не указывать индекс, то функция удалит последний элемент.
my_list = ['один', 'два', 'три', 'четыре', 'пять'] removed = my_list.pop() print(my_list) print(removed)
['один', 'два', 'три', 'четыре'] пять
Элемент можно удалить с помощью метода remove .
my_list = ['один', 'два', 'три', 'четыре', 'пять'] my_list.remove('два') print(my_list)
['один', 'три', 'четыре', 'пять']
Оператор del можно использовать для тех же целей:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] del my_list[2] print(my_list)
['один', 'два', 'четыре', 'пять']
Можно удалить несколько элементов с помощью оператора среза:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] del my_list[1:3] print(my_list)
['один', 'четыре', 'пять']
Функции агрегации
В Python есть некоторые агрегатные функции:
my_list = [5, 3, 2, 4, 1] print(len(my_list)) print(min(my_list)) print(max(my_list)) print(sum(my_list))
sum() работает только с числовыми значениями.
А max() , len() и другие можно использовать и со строками.
Сравнить списки
В Python 2 сравнить элементы двух списком можно с помощью функции cmp :
my_list = ['один', 'два', 'три', 'четыре', 'пять'] list_2 = ['три', 'один', 'пять', 'два', 'четыре'] print(cmp(my_list,list_2))
Она вернет -1 , если списки не совпадают, и 1 в противном случае.
В Python 3 для этого используется оператор ( == ):
my_list = ['один', 'два', 'три', 'четыре', 'пять'] list_2 = ['три', 'один', 'пять', 'два', 'четыре'] if (my_list == list_2): print('cовпадают') else: print('не совпадают')
Результат не совпадают .
Математические операции на списках:
Для объединения списков можно использовать оператор ( + ):
list_1 = [1, 2, 3] list_2 = [4, 5, 6] print(list_1 + list_2)
[1, 2, 3, 4, 5, 6]
Список можно повторить с помощью оператора умножения:
list_1 = [1, 2, 3] print(list_1 * 2)
[1, 2, 3, 1, 2, 3]
Списки и строки
Для конвертации строки в набор символов, можно использовать функцию list :
my_str = 'Monty Python' my_list = list(my_str) print(my_list)
['M', 'o', 'n', 't', 'y', ' ', 'P', 'y', 't', 'h', 'o', 'n']
Функция list используется для того, чтобы разбивать строку на отдельные символы.
Можно использовать метод split для разбития строки на слова:
my_str = 'Monty Python' my_list = my_str.split() print(my_list)
['Monty', 'Python']
Она возвращает обычный список, где с каждым словом можно взаимодействовать через индекс.
Символом разбития может служить любой знак, а не только пробел.
my_str = 'Monty-Python' my_list = my_str.split('-') print(my_list)
Результат будет аналогичен:
['Monty', 'Python']
Объединить список в строку
Обратный процесс — объединение элементов списка в строку.
Это делается с помощью метода join :
my_list = ['Monty', 'Python'] delimiter = ' ' output = delimiter.join(my_list) print(output)
Результат Monty Python .
Алиасинг (псевдонимы)
Когда две переменные ссылаются на один и тот же объект:
my_list = ['Monty', 'Python'] list_2 = my_list
Алиасинг значит, что на объект ссылается больше одного имени.
Следующий пример показывает, как меняются изменяемые списки:
my_list = ['Monty', 'Python'] list_2 = my_list list_2[1] = 'Java:)' print(my_list)
['Monty', 'Java:)']
Изменился список list_2 , но поскольку он ссылается на один и тот же объект, то оригинальный список тоже поменялся.
Использовать “псевдонимы” при работе со списками не рекомендуется.
В целом, работать со списками в Python очень просто.
