Dictionaries in python
Содержание:
- Содержание справочника по Python3:
- Delete Dictionary Elements
- Практическая работа по использованию словарей
- Списки
- Благоприятные, средние и худшие случаи
- Using collections.ChainMap
- Красивый Питон — часть 4. Словари в Python.
- Работа со словарями Python
- Задания для самоподготовки
- A Few Words on Dictionaries
- Поверхностные и глубокие копии словарей
- Built-in Dictionary Functions & Methods
- 5.3. Tuples and Sequences¶
- Built-in Dictionary Functions and Methods
Содержание справочника по Python3:
Определение функций в Python.
Ключевое слово def вводит определение функции . За ним должно следовать имя функции и заключенный в скобки список формальных параметров. Операторы, которые формируют тело функции, начинаются со следующей строки и должны иметь отступ.
Приоритет операций в выражениях в Python.
Выражение — это код, который интерпретатор Python вычисляет для получения значения. Операции с более высоким приоритетом выполняются до выполнения операций с более низким приоритетом.
Строковые и байтовые литералы.
Байтовые литералы всегда начинаются с префикса ‘b’ или ‘B’. Как строковые, так и байтовые литералы могут дополнительно иметь префикс в виде буквы ‘r’ или ‘R’. Такие строки называются необработанными.
Встроенные константы языка Python.
Пространство имен языка Python имеет небольшое количество встроенных констант. Это False, True, None, NotImplemented, __debug__
Инструкция del в Python.
Инструкция `del` не удаляет объекты в буквальном смысле, она лишь открепляет ссылки, разрывая связь между именем и объектом. Удаление объекта произойдет как следствие работы сборщика мусора.
Приемы работы со строками в Python.
Язык программирования Python может манипулировать строками, которые могут быть записаны несколькими способами. Текстовые строки могут быть заключены в одинарные кавычки (‘…’) или двойные кавычки («…»), что в результате будет одно и то же.
Использование регулярных выражений в Python.
Регулярные выражения — это шаблоны соответствия текста, описанные в формальном синтаксисе и могут включать в себя буквальное сопоставление текста, повторение, ветвление и другие сложные правила. Регулярные выражения обычно используются в приложениях, которые требуют тонкую обработку текста.
Использование списков list в Python.
Язык программирования Python имеет несколько составных типов данных, используемых для группировки значений. Наиболее универсальным является список, который можно записать в виде списка значений (элементов), разделенных запятыми, в квадратных скобках.
Использование кортежей tuple в Python.
Кортежи являются неизменяемыми и обычно содержат гетерогенную последовательность элементов, доступ к которым осуществляется через распаковку или индексацию, или даже по атрибуту в случае `collections.namedtuple()`.
Использование словарей dict в Python.
Основные использование словаря — это хранение значения с некоторым ключом и извлечение значения из словаря, заданного ключом. Лучше всего рассматривать словарь как набор пар «ключ-значение» с требованием, чтобы ключи были уникальными в пределах одног
Использование множеств set в Python.
Основные виды использования множеств включают вхождение/наличие элемента и устранение дубликатов записей.
Итераторы в Python.
Функция возвращает объект итератора, который определяет метод __next__(), который, в свою очередь обращается к элементам в контейнере по одному за раз. Когда нет больше элементов, __next__() возбуждает исключение StopIteration
Функция генератора в Python.
Генераторы используют оператор yield всякий раз, когда они хотят вернуть данные. Каждый раз, когда вызывается встроенная функция next(), генератор возобновляет работу с того места, где он остановился.
Работа с файлами в Python.
При доступе к файлу в операционной системе требуется указать путь к файлу. Путь к файлу — это строка, которая представляет местоположение файла.
Система импорта в Python.
При первом импорте модуля Python выполняет поиск модуля и, если он найден, создает объект модуля, инициализируя его. Если именованный модуль не может быть найден, то вызывается исключение ModuleNotFoundError.
Delete Dictionary Elements
You can either remove individual dictionary elements or clear the entire contents of a dictionary. You can also delete entire dictionary in a single operation.
To explicitly remove an entire dictionary, just use the del statement. Following is a simple example −
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del dict; # remove entry with key 'Name' dict.clear(); # remove all entries in dict del dict ; # delete entire dictionary print "dict: ", dict print "dict: ", dict
This produces the following result. Note that an exception is raised because after del dict dictionary does not exist any more −
dict: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict: ", dict; TypeError: 'type' object is unsubscriptable
Note − del() method is discussed in subsequent section.
Практическая работа по использованию словарей
Дан текст на некотором языке. Требуется подсчитать сколько раз каждое слово входит в этот текст и вывести десять
самых часто употребяемых слов в этом тексте и количество их употреблений.
В качестве примера возьмите файл с текстом лицензионного соглашения Python .
Подсказка №1: Используйте словарь, в котором ключ — слово, а знчение — количество таких слов.
Подсказка №2: Точки, запятые, вопросы и восклицательные знаки перед обработкой замените пробелами(используйте из модуля string).
Подсказка №3: Все слова приводите к нижнему регистру при помощи метода строки .
Подсказка №4: По окончании сбора статистики нужно пробежать по всем ключам из словаря и найти ключ с максимальным значением.
Дан словарь task4/en-ru.txt с однозначным соответствием английских и русских слов в таком формате:
Здесь английское и русское слово разделены двумя табуляциями и минусом: .
В файле task4/input.txt дан текст для перевода, например:
Mouse in house. Cat in house.
Cat eats mouse in dog house.
Dog eats mouse too.
Требуется сделать подстрочный перевод с помощью имеющегося словаря и вывести результат в .
Незнакомые словарю слова нужно оставлять в исходном виде.
Дан список стран и языков на которых говорят в этой стране в формате в файле task5/input.txt. На ввод задается N — длина списка и список языков. Для каждого языка укажите, в каких странах на нем говорят.
Ввод | Вывод |
---|---|
3 | |
азербайджанский | Азербайджан |
греческий | Кипр Греция |
китайский | Китай Сингапур |
В файле task6/en-ru.txt находятся строки англо-русского словаря в таком формате:
cat — кошка
dog — собака
home — домашняя папка, дом
mouse — мышь, манипулятор мышь
to do — делать, изготавливать
to make — изготавливать
Здесь английское слово (выражение) и список русских слов (выражений) разделены двумя табуляциями и минусом: .
Требуется создать русско-английский словарь и вывести его в файл в таком формате:
делать — to do
дом — home
домашняя папка — home
изготавливать — to do, to make
кошка — cat
манипулятор мышь — mouse
мышь — mouse
собака — dog
Порядок строк в выходном файле должен быть словарным с человеческой точки зрения (так называемый лексикографический порядок слов). То есть выходные строки нужно отсортировать.
Даны два файла словарей: task7/en-ru.txt и task7/ru-en.txt (в формате, описанном в упражнении №6).
en-ru.txt:
home — домашняя папка
mouse — манипулятор мышь
ru-en.txt:
дом — home
мышь — mouse
Требуется синхронизировать и актуализировать их содержимое.
en-ru.txt:
home — домашняя папка, дом
mouse — манипулятор мышь, мышь
ru-en.txt:
дом — home
домашняя папка — home
манипулятор мышь — mouse
мышь — mouse
В одном очень дружном доме, где живет Фёдор, многие жильцы оставляют ключи от квартиры соседям по дому, например на случай пожара или потопа, да и просто чтобы покормили животных или полили цветы.
Вернувшись домой после долгих странствий, Фёдор обнаруживает, что потерял свои ключи и соседей дома нет. Но вдруг у домофона он находит чужие ключи. Помогите Федору найти ключи от своей квартиры в квартирах соседей.
На ввод подается файл input.txt, в котором в первой строке записано три числа через пробел N — номер квартиры Фёдора, M — номер квартиры от которой Федор нашел ключи, K — ключ от этой квартиры. Далее i-я строка хранит описание ключей запертых в i-й квартире в формате , причем реальные номера квартир «зашифрованы» ключем от i-й квартиры(Ki) и находятся по формуле m_ij’ = m_ij — Ki. Номера квартир начинаются с 0 (кпримеру вторая строка файла соответствует 0-й квартире).
Нужно вывести ключ от квартиры Федора или None если его найти не получилось.
Ввод | Вывод |
---|---|
4 0 1 | 1 |
1 1,2 0,3 1,4 0 | |
3 0 | |
5 1,6 0 | |
1 1 | |
2 1 |
Подсказка: используйте словарь для хранения ключей от еще не открытых комнат и множество для уже проверенных комнат.
Дан текст-образец, по которому требуется сделать генератор случайного бреда на основе Марковских цепей.
Подробности спрашивайте у семинариста.
Списки
Списки Python схожи с массивами в других языках. В Python, пустой список может быть создан следующим образом:
Python
my_list = []
my_list = list()
1 |
my_list= my_list=list() |
Как вы видите, вы можете создать список при помощи квадратных скобок, или при помощи встроенного инструмента Python – list. Список состоит из таких элементов, как строки, цифры, объекты и смеси типов. Давайте взглянем на несколько примеров:
Python
my_list =
my_list2 =
my_list3 =
1 |
my_list=1,2,3 my_list2=»a»,»b»,»c» my_list3=»a»,1,»Python»,5 |
Первый список содержит 3 числа, второй 3 строки, третий содержит смесь. Вы также можете создавать списки списков, вот так:
Python
my_nested_list =
print(my_nested_list) # , ]
1 |
my_nested_list=my_list,my_list2 print(my_nested_list)# , ] |
В какой-то момент вам может понадобиться скомбинировать два списка вместе. Первый способ сделать это – при помощи метода extend:
Python
combo_list =
one_list =
a = combo_list.extend(one_list)
print(a) #
1 |
combo_list=1 one_list=4,5 a=combo_list.extend(one_list) print(a)# |
Немного проще будет просто добавить два списка вместе.
Python
my_list =
my_list2 =
combo_list = my_list + my_list2
print(combo_list) #
1 |
my_list=1,2,3 my_list2=»a»,»b»,»c» combo_list=my_list+my_list2 print(combo_list)# |
Да, это именно настолько просто. Вы также можете сортировать список. Давайте уделим немного времени и взглянем на то, как это делается:
Python
alpha_list =
alpha_list.sort()
print(alpha_list) #
1 |
alpha_list=34,23,67,100,88,2 alpha_list.sort() print(alpha_list)# |
Получилось. Видите? Давайте взглянем на еще один пример, чтобы закрепить результат:
Python
alpha_list =
sorted_list = alpha_list.sort()
print(sorted_list) # None
1 |
alpha_list=34,23,67,100,88,2 sorted_list=alpha_list.sort() print(sorted_list)# None |
В этом примере мы попытались назначить сортированный список переменной. Однако, когда вы вызываете метод sort() в списке, он сортирует список на месте. Так что если вы попробуете назначить результат другой переменной, тогда возникнет объект None, который аналогичен объекту Null в других языках. Таким образом, когда вам нужно отсортировать что-нибудь, просто помните, что вы сортируете на месте, и вы не можете назначить объект другой переменной.
Вы можете разрезать список также, как вы делаете это со строкой:
Python
a = alpha_list
print(a) #
1 |
a=alpha_list3 print(a)# |
Данный код выдает список из трех первых элементов.
Благоприятные, средние и худшие случаи
При вычислении временной сложности операции можно получить сложность на основе благоприятного, среднего или худшего случая.
Благоприятный случай. Как следует из названия, это сценарий, когда структуры данных и элементы в коллекции вместе с параметрами находятся в оптимальном состоянии. Например, мы хотим найти элемент в коллекции. Если этот элемент оказывается первым элементом коллекции, то это лучший сценарий для операции.
Средний случай. Определяем сложность на основе распределения значений входных данных.
Худший случай. Структуры данных и элементы в коллекции вместе с параметрами находятся в наиболее неоптимальном состоянии. Например, худший случай для операции, которой требуется найти элемент в большой коллекции в виде списка — когда искомый элемент находится в самом конце, а алгоритм перебирает коллекцию с самого начала.
Using collections.ChainMap
is a useful module from the Python Standard Library that provides specialized container data types. One of these data types is , which is a dictionary-like class for creating a single view of multiple mappings (like dictionaries). With , you can group multiple dictionaries together to create a single, updateable view.
Now, suppose you have two (or more) dictionaries, and you need to iterate through them together as one. To achieve this, you can create a object and initialize it with your dictionaries:
>>>
After importing from , you need to create a object with the dictionaries you want to chain, and then you can freely iterate through the resulting object as you would do with a regular dictionary.
objects also implement , , and as a standard dictionary does, so you can use these methods to iterate through the dictionary-like object generated by , just like you would do with a regular dictionary:
>>>
Красивый Питон — часть 4. Словари в Python.
- 3.05.2016
- Python
- идиомы python
Это четвертый пост об идиомах в Питона. Теперь пришло время узнать, что же такое словари в Python. Вы наверняка знаете, что это такая структура данных, тип которой обычно обозначают как dict. Пост же несколько подробнее расскажет о словарях: о том, как их перебирать или получать значение по ключу.
Работа со словарями Python
Вообще, словарями в Python называют коллекции произвольных объектов с доступом по ключу. При этом коллекции неупорядоченные. По-другому словари можно называть ассоциативными массивами или хеш-таблицами. Словарь может выглядеть, например, так:
dict = {'ключ1': 1, 'ключ2': 2}
Конечно же, существует куча способов работы со словарями, и все они не поместятся в этот пост. Но некоторые полезные идиомы, пожалуй, стоит упомянуть.
Цикл по ключам словаря Python
Одна из базовых операций, которая требуется при работе со словарями — это цикл по его ключам
Наверняка вы будете часто использовать такую операцию, поэтому стоит обратить внимание на правильный и красивый способ ее выполнения
#Не перебирайте ключи так for k in dic.keys(): print(k) #Делайте это так for k in dic: print(k)
Как видите. для цикла по ключам словаря не нужно использовать метод dictionary.keys(). Все что нужно — это ссылка на словарь.
Цикл по паре ключ-значение Python
Еще одна нужная операция, которая почти всегда требуется при работе со словарями — это цикл по паре ключ:значение. Конечно же, в Python есть несколько быстрых и простых способ построить такой цикл.
#цикл можно построить так for k in dic: print(k) print(dic) #или вот так for k, val in dic.items(): print(k) print(val)
В примере показано два способа перебора пар ключ-значение в словаре. Первый перебирает ключи словаря, а значения извлекает по ключу. Второй пример пробегает по словарю, распаковывая ключи и значения в две переменные.
Использование dictionary.get() для получения значений
Если нужно получить значение по ключу, но при этом неизвестно, существует такой ключ или нет — используйте метод dictionary.get().
#Использование get() для получения значения val = dic.get('key1', 'na')
Если ключ «key1» существует в словаре dic, то переменной будет присвоено значение в соответствии с ключом. В противном случае переменная получит значение второго аргумента функции get().
Удаление элементов из словаря Python по критериям
Вероятно, если бы перед вами встала такая задача, то в мыслях сразу бы возникли циклы и условные операторы. Но в Питоне все это не требуется! Смотрите:
#Удаление элементов из словаря по критериям dic = {k : dic for k in dic if not len(k) < 5}
Синтаксис очень простой: {ключ : значение for ключ in словарь }. Пример выше создаст новый словарь, которые содержит все пары ключ-значение, в которых ключ имеет длину менее 5.
Объединение двух списков в словарь
Например, у вас есть список имен и список фамилий. Но вы хотите иметь словарь из пар фамилия-имя. Что делать в такой ситуации? Объединять списки в словарь, конечно же!
#Объединение двух списков в словарь f_names = l_names = names = dict(zip(f_names, l_names))
Эта идиома принимает на вход два списка: f_names и l_names, а затем формирует из них словарь из пар фамилия-имя. Это быстро и просто, как и в других идиомах Python. Если вас заинтересует метод zip() — почитайте о нем подробнее в документации.
Задания для самоподготовки
1. Пользователь
вводит произвольные целые числа и нужно создать словарь, у которого ключами
будут только четные числа, а значениями – квадраты этих чисел.
2. Пусть имеется
вот такая строка:
«int= целое число, dict=словарь, list=список, str=строка, bool=булевый
тип»
Требуется из нее
создать словарь с ключами:
int, dict, list, str, bool
и
соответствующими значениями.
3. Пользователь
вводит с клавиатуры M раз данные в формате:
английское
слово: перевод1, перевод2, …, переводN
каждую введенную
строку необходимо преобразовать и поместить в словарь, у которого ключом будет
английское слово, а значением список:
Видео по теме
Python 3 #1: установка и запуск интерпретатора языка
Python 3 #2: переменные, оператор присваивания, типы данных
Python 3 #3: функции input и print ввода/вывода
Python 3 #4: арифметические операторы: сложение, вычитание, умножение, деление, степень
Python 3 #5: условный оператор if, составные условия с and, or, not
Python 3 #6: операторы циклов while и for, операторы break и continue
Python 3 #7: строки — сравнения, срезы строк, базовые функции str, len, ord, in
Python 3 #8: методы строк — upper, split, join, find, strip, isalpha, isdigit и другие
Python 3 #9: списки list и функции len, min, max, sum, sorted
Python 3 #10: списки — срезы и методы: append, insert, pop, sort, index, count, reverse, clear
Python 3 #11: списки — инструмент list comprehensions, сортировка методом выбора
Python 3 #12: словарь, методы словарей: len, clear, get, setdefault, pop
Python 3 #13: кортежи (tuple) и операции с ними: len, del, count, index
Python 3 #14: функции (def) — объявление и вызов
Python 3 #15: делаем «Сапер», проектирование программ «сверху-вниз»
Python 3 #16: рекурсивные и лямбда-функции, функции с произвольным числом аргументов
Python 3 #17: алгоритм Евклида, принцип тестирования программ
Python 3 #18: области видимости переменных — global, nonlocal
Python 3 #19: множества (set) и операции над ними: вычитание, пересечение, объединение, сравнение
Python 3 #20: итераторы, выражения-генераторы, функции-генераторы, оператор yield
Python 3 #21: функции map, filter, zip
Python 3 #22: сортировка sort() и sorted(), сортировка по ключам
Python 3 #23: обработка исключений: try, except, finally, else
Python 3 #24: файлы — чтение и запись: open, read, write, seek, readline, dump, load, pickle
Python 3 #25: форматирование строк: метод format и F-строки
Python 3 #26: создание и импорт модулей — import, from, as, dir, reload
Python 3 #27: пакеты (package) — создание, импорт, установка (менеджер pip)
Python 3 #28: декораторы функций и замыкания
Python 3 #29: установка и порядок работы в PyCharm
Python 3 #30: функция enumerate, примеры использования
A Few Words on Dictionaries
Dictionaries are a cornerstone of Python. The language itself is built around dictionaries. Modules, classes, objects, , : all of these are dictionaries. Dictionaries have been central to Python from its very beginning.
Python’s official documentation defines a dictionary as follows:
There are a couple points to keep in mind:
- Dictionaries map keys to values and store them in an array or collection.
- The keys must be of a type, which means that they must have a hash value that never changes during the key’s lifetime.
Dictionaries are frequently used for solving all kinds of programming problems, so they are a fundamental piece of your tool kit as a Python developer.
Unlike , which are that support element access using integer indices, dictionaries are indexed by keys.
The keys in a dictionary are much like a , which is a collection of hashable and unique objects. Because the objects need to be hashable, objects can’t be used as dictionary keys.
On the other hand, values can be of any Python type, whether they are hashable or not. There are literally no restrictions for values.
In Python 3.6 and beyond, the keys and values of a dictionary are iterated over in the same order in which they were created. However, this behavior may vary across different Python versions, and it depends on the dictionary’s history of insertions and deletions.
In Python 2.7, dictionaries are unordered structures. The order of the dictionaries’ items is scrambled. This means that the order of the items is deterministic and repeatable. Let’s see an example:
>>>
If you leave the interpreter and open a new interactive session later, you’ll get the same item order:
>>>
A closer look at these two outputs shows you that the resulting order is exactly the same in both cases. That’s why you can say that the ordering is deterministic.
In Python 3.5, dictionaries are still unordered, but this time, randomized data structures. This means that every time you re-run the dictionary, you’ll get a different items order. Let’s take a look:
>>>
If you enter a new interactive session, then you’ll get the following:
>>>
This time, you can see that the order of the items is different in both outputs. That’s why you can say they are randomized data structures.
In Python 3.6 and beyond, , which means that they keep their elements in the same order in which they were introduced, as you can see here:
>>>
This is a relatively new feature of Python’s dictionaries, and it’s a very useful one. But if you’re writing code that is supposed to be run in different Python versions, then you must not rely on this feature, because it can generate buggy behaviors.
Another important feature of dictionaries is that they are mutable data structures, which means that you can add, delete, and update their items. It’s worth noting that this also means that they can’t be used as keys to other dictionaries, as they are not hashable objects.
Note: Everything you’ve learned in this section is related to the core Python implementation, CPython.
Other Python implementations, like PyPy, IronPython or Jython, could exhibit different dictionary behaviors and features that are beyond the scope of this article.
Поверхностные и глубокие копии словарей
Иногда может получиться так, что несколько ссылок могут ссылаться на один и тот же словарь, в этом случае изменение словаря по одной переменной приведет к тому, что другие переменные уже не будут ссылаться на прежние данные:
Сейчас и ссылаются на один и тот же словарь, теперь изменим словарь посредством переменной :
Но и теперь ссылается на тот же самый словарь:
Если необходимо что бы переменные ссылались на разные данные, то можно выполнить поверхностную копию, с помощью метода :
Однако, поверхностное копирование не позволяет скопировать данные из вложенных списков и словарей:
Если мы сейчас присвоим поверхностную копию переменной , то мы получим два словаря, вложенные структуры которых все равно будут ссылаться на одни и теже данные:
Но данные вложенного списка и словаря являются общими:
Что бы выполнить глубокое (полное) копирование данных и всех вложенных структур, можно воспользоваться модулем из стандартной библиотеки. Сначала импортируем его:
А затем, с помощью функции выполняем глубокое копирование:
После чего мы получаем два, совершенно никак не связанных словаря:
Built-in Dictionary Functions & Methods
Python includes the following dictionary functions −
Sr.No. | Function with Description |
---|---|
1 |
cmp(dict1, dict2)
Compares elements of both dict. |
2 |
len(dict)
Gives the total length of the dictionary. This would be equal to the number of items in the dictionary. |
3 |
str(dict)
Produces a printable string representation of a dictionary |
4 |
type(variable)
Returns the type of the passed variable. If passed variable is dictionary, then it would return a dictionary type. |
Python includes following dictionary methods −
Sr.No. | Methods with Description |
---|---|
1 |
dict.clear()
Removes all elements of dictionary dict |
2 |
dict.copy()
Returns a shallow copy of dictionary dict |
3 |
dict.fromkeys()
Create a new dictionary with keys from seq and values set to value. |
4 |
dict.get(key, default=None)
For key key, returns value or default if key not in dictionary |
5 |
dict.has_key(key)
Returns true if key in dictionary dict, false otherwise |
6 |
dict.items()
Returns a list of dict‘s (key, value) tuple pairs |
7 |
dict.keys()
Returns list of dictionary dict’s keys |
8 |
dict.setdefault(key, default=None)
Similar to get(), but will set dict=default if key is not already in dict |
9 |
dict.update(dict2)
Adds dictionary dict2‘s key-values pairs to dict |
10 |
dict.values()
Returns list of dictionary dict‘s values |
Previous Page
Print Page
Next Page
5.3. Tuples and Sequences¶
We saw that lists and strings have many common properties, such as indexing and
slicing operations. They are two examples of sequence data types (see
). Since Python is an evolving language, other sequence data
types may be added. There is also another standard sequence data type: the
tuple.
A tuple consists of a number of values separated by commas, for instance:
>>> t = 12345, 54321, 'hello!' >>> t 12345 >>> t (12345, 54321, 'hello!') >>> # Tuples may be nested: ... u = t, (1, 2, 3, 4, 5) >>> u ((12345, 54321, 'hello!'), (1, 2, 3, 4, 5)) >>> # Tuples are immutable: ... t = 88888 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>> # but they can contain mutable objects: ... v = (, 3, 2, 1]) >>> v (, )
As you see, on output tuples are always enclosed in parentheses, so that nested
tuples are interpreted correctly; they may be input with or without surrounding
parentheses, although often parentheses are necessary anyway (if the tuple is
part of a larger expression). It is not possible to assign to the individual
items of a tuple, however it is possible to create tuples which contain mutable
objects, such as lists.
Though tuples may seem similar to lists, they are often used in different
situations and for different purposes.
Tuples are , and usually contain a heterogeneous sequence of
elements that are accessed via unpacking (see later in this section) or indexing
(or even by attribute in the case of ).
Lists are , and their elements are usually homogeneous and are
accessed by iterating over the list.
A special problem is the construction of tuples containing 0 or 1 items: the
syntax has some extra quirks to accommodate these. Empty tuples are constructed
by an empty pair of parentheses; a tuple with one item is constructed by
following a value with a comma (it is not sufficient to enclose a single value
in parentheses). Ugly, but effective. For example:
>>> empty = () >>> singleton = 'hello', # <-- note trailing comma >>> len(empty) >>> len(singleton) 1 >>> singleton ('hello',)
The statement is an example of tuple packing:
the values , and are packed together in a tuple.
The reverse operation is also possible:
>>> x, y, z = t
Built-in Dictionary Functions and Methods
Python includes the following dictionary functions −
Sr.No. | Function & Description |
---|---|
1 |
cmp(dict1, dict2)
No longer available in Python 3. |
2 |
len(dict)
Gives the total length of the dictionary. This would be equal to the number of items in the dictionary. |
3 |
str(dict)
Produces a printable string representation of a dictionary |
4 |
type(variable)
Returns the type of the passed variable. If passed variable is dictionary, then it would return a dictionary type. |
Python includes the following dictionary methods −
Sr.No. | Method & Description |
---|---|
1 |
dict.clear()
Removes all elements of dictionary dict |
2 |
dict.copy()
Returns a shallow copy of dictionary dict |
3 |
dict.fromkeys()
Create a new dictionary with keys from seq and values set to value. |
4 |
dict.get(key, default=None)
For key key, returns value or default if key not in dictionary |
5 |
dict.has_key(key)
Removed, use the in operation instead. |
6 |
dict.items()
Returns a list of dict‘s (key, value) tuple pairs |
7 |
dict.keys()
Returns list of dictionary dict’s keys |
8 |
dict.setdefault(key, default = None)
Similar to get(), but will set dict = default if key is not already in dict |
9 |
dict.update(dict2)
Adds dictionary dict2‘s key-values pairs to dict |
10 |
dict.values()
Returns list of dictionary dict‘s values |
Previous Page
Print Page
Next Page