Pull to refresh

Списки и словари в 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()

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

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

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

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

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.