Как стать автором
Обновить

Списки и словари в Python. Разница и смысл

Доброго времени суток, питонисты!

Сейчас постараюсь подробно разобрать списки и словари в Python, объясню смысл их использования, и разберём их различия, а в конце подведём итог.

Списки

Что такое список?

Список это вид переменной у которой сразу несколько значений. Значения могут быть разных типов, например в одном списке может быть как и int(целое число) так и float(число с плавающей точкой) и до кучи к ним ещё и string(строка, буквы). Все данные в списке упорядоченные индексацией.

Как сделать список?

Список в коде создаётся таким путём:

my_list = [данные, через, запятую]

Числа в список забивать нужно без кавычек, а строки с одинарными либо двойными, разницы нет. Но если у вас в строке есть двойные кавычки, то обозначать строку нужно одинарными кавычками, и наоборот. В противном случае, компилятор просто потеряется и выдаст ошибку. Числа с плавающей точкой пишите именно с точкой, хоть за ошибку считаться не будет, но большинство программистов используют именно точку. В списке может быть список, а в нём словарь и так далее…

Как работать с определённым элементом в списке?

Допустим мы хотим вывести на экран определённый элемент из списка. Возьмём 3-й. А запишем в коде мы это так:

print(my_list[2])

Сразу отвечу на вопрос: почему элемент 2-ой, если на самом деле он 3-ий? Давайте вернёмся к школьной программе по математике 5-го класса. Там нам говорят что натуральные числа - числа без плавающей точки, используемые при счёте предметов. 0 и отрицательные числа не являются натуральными числами. Теперь смотрим на список. Данные - они у нас в памяти компьютера, они предметами имеющими какую либо физическую внешность не являются. Соответственно их счёт мы начинаем с нуля. Следственно: 1-ый для нашего понимания - 0-ой для понимания компьютера. Это нужно запомнить.

В прочем работа с определённым элементом из списка идентична работе с переменной, поэтому мы её разбирать не будем.

Как работать с самим списком?

Существует множество функций по работе со списками. Их вы можете найти по ссылке: тык. Сейчас мы разберём поисковые методы.

Таблица поисковых методов

Метод

Что делает

my_list.append(x)

Добавляет элемент в конец списка

list.extend(L)

Расширяет список my_list, добавляя в конец все элементы списка L

my_list.insert(i, x)

Вставляет на i-ый элемент значение x

my_list.remove(x)

Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует

my_list.index(x, [start [, end]])

Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)

my_list.count(x)

Возвращает количество элементов со значением x

my_list.sort([key=функция])

Сортирует список на основе функции

my_list.reverse()

Разворачивает список

my_list.copy()

Поверхностная копия списка

my_list.clear()

Очищает список

Сохранение результата выполнения поискового метода в переменную выполняется следующим образом:

my_new_list = my_list.func(arg)

НО:

Если мы сортируем список и сохраняем новый список в переменную то

my_sorted_list = my_list.sort()

будет ошибкой. Правильнее будет сначала выполнить сортировку, а уже сортированный список сохранить в переменную

my_list.sort()

my_sorted_list = my_list

Словари

Что такое словарь?

Словарь это неупорядоченный список. Вместо индексации здесь у всех данных есть свой ключ - буквенный.

Как создать словарь?

Словари в Python объявляются таким путём:

my_dict = {

'key1':'value1'

'key2':'value2'

}

Как работать с определённым элементом словаря?

Вывести определённый элемент из словаря на экран можно вот так:

print(my_dict('key1'))

Сейчас мы вывели значение элемента в словаре с ключем 'key1'.

Точно также - работа с определённым элементом из словаря идентична работе с переменной, всё разбирать мы не будем.

Как работать с самим словарем?

Таблица методов для работы со словарями

Метод

Что делает

my_dict.clear()

Очищает словарь

my_dict.copy()

Возращает копию словаря

my_dict.get(key[, default])

Возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None)

my_dict.items()

Возвращает пары (ключ, значение)

my_dict.keys()

Возвращает ключи

my_dict.pop(key[, default])

Удаляет ключ и возвращает значение. Если ключа нет, возвращает default (по умолчанию бросает исключение).

my_dict.popitem()

Удаляет пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены

my_dict.values()

Возвращает значения из словаря

Подведём итоги

Для цен в магазине лучше использовать словари, можно указать для чего конкретно цена, для списка банковских клиентов - списки, можно рассортировать по алфавиту. А дальше - по аналогии.

Надеюсь статья была поучительной!

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.