Python dictionary (dict) tutorial

Python Dictionary Methods

Python has a set of built-in methods that you can invoke on dictionary objects.

Python Dictionary Methods
Method Description
clear() Removes all items from the dictionary
copy() Returns a shallow copy of the dictionary
fromkeys() Creates a new dictionary with the specified keys and values
get() Returns the value of the specified key
items() Returns a list of key:value pair
keys() Returns a list of all keys from dictionary
pop() Removes and returns single dictionary item with specified key.
popitem() Removes and returns last inserted key:value pair from the dictionary.
setdefault() Returns the value of the specified key, if present. Else, inserts the key with a specified value.
update() Updates the dictionary with the specified key:value pairs
values() Returns a list of all values from dictionary

Description

a dict, or dictionary, is a list containing an even number of words. All dictionaries are lists, but not all lists are dictionaries. Words at even indices are keys, and words at odd indices are the corresponding values. When an item is added to a dictionary, the string representation for that item is generated if it does not already exist.

A dictionary is the Tcl analogue of what other languages call a associative array, hash, or map. Internally, Tcl uses a hash table to implement a dictionary, so its performance characteristics are quite different from those of a plain list. To avoid the performance cost of shimmering, use only dict or ˇlistˇ commands to modify a dictionary.

The conversion between internal representations of a dictionary and a list is lossless. A round-trip conversion from dict to list and back again yields the original value. Duplicate keys are retained during such a conversion. Converting a list to a dictionary has the effect of generating string representations for all values in the list at even indices that didn’t previously have string representations.

The order of elements in a dictionary is the order in which they were added. list operations on a dictionary value reflect this. With dict create, keys and their corresponding values are added from left to right as they occur in the command.

dict was introduced in Tcl 8.5.

CecilWesterhof Default there is no way to check if a value is a dict, that is why I created isDict.

2.1. Перебор пар «ключ-значение» методом items().

Для перебора словаря можно воспользоваться циклом for за которым следует вызов метода items(), возвращающий список пар «ключ-значение». Такой вид перебора хорошо работает для словарей, хранящих один вид информации с разными ключами. В примере ниже создадим словарь связывающий месяц с количеством дней в нем. Воспользуемся f-строками и создадим условия if-else для удобного чтения окончания. 

>>> year = {‘январь’: 31, ‘февраль’: 28, ‘март’: 31, ‘апрель’: 30}
>>> for month, days in year.items():
…     if days % 2 == 0:
…             print(f»{month} {days} дней.»)
…     else:
…             print(f»{month} {days} день.»)
…январь 31 день.
февраль 28 дней.
март 31 день.
апрель 30 дней.

В начале в цикле for Python перебирает все пары «ключ-значение» в словаре. В процессе перебора ключ сохраняется в переменной month, а значение в переменной days. Затем создается условие, если количество дней четное, то выводится команда print с названием месяца и количества дней с окончанием «дней». Если количество не чётное, то пишется «день». 

Методы словарей Python

В словарях есть специальные методы, которые можно использовать:

d.get(ключ)

Метод get() позволяет получить значение. Ему нужно указать ключ для поиска. Можно вернуть значение по умолчанию, если ключ не будет найден. По умолчанию это None:

>>> print(sample_dict.get('address'))
None
>>> print(sample_dict.get('address', 'Not Found'))
Not Found

Первый пример иллюстрирует, что происходит, если попытаться получить ключ, которого не существует без установки значения get по умолчанию. В этом случае метод возвращается None.

Во втором примере показано, как установить по умолчанию строку “Not Found”.

d.clear()

Метод clear() используется, чтобы удалить все элементы из словаря.

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict
{'email': 'jdoe@gmail.com', 'first_name': 'James', 'last_name': 'Doe'}
>>> sample_dict.clear()
>>> sample_dict
{}

d.copy()

Чтобы создать простую копию словаря, используется метод copy().

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> copied_dict = sample_dict.copy()
>>> copied_dict
{'email': 'jdoe@gmail.com', 'first_name': 'James', 'last_name': 'Doe'}

Если в словаре есть объекты или словари, то можно столкнуться с логическими ошибками. Так как изменение одного словаря может повлиять на его копию. В этом случае необходимо использовать модуль Python copy, в котором есть функция deepcopy(). Она создаетотдельную копию словаря.

d.Items()

Метод items() возвращает новое представление из элементов словаря.

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict.items()
dict_items()

Этот объект представления будет меняться по мере изменения самого словаря.

d.keys()

Чтобы получить представление ключей, которые есть в словаре, используется метод keys(). Он предоставляет динамическое представление ключей словаря. Можно представление, а также проверить принадлежность представлению по ключевому слову in.

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> keys = sample_dict.keys()
>>> keys
dict_keys()
>>> 'email' in keys
True
>>> len(keys)
3

d.values()

Метод values() возвращает объект динамического представления значений словаря.

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> values = sample_dict.values()
>>> values
dict_values()
>>> 'Doe' in values
True
>>> len(values)
3

d.pop(ключ)

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

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict.pop('something')
Traceback (most recent call last):
Python Shell, prompt 146, line 1
builtins.KeyError: 'something'
>>> sample_dict.pop('something', 'Not found!')
'Not found!'
>>> sample_dict.pop('first_name')
'James'
>>> sample_dict
{'email': 'jdoe@gmail.com', 'last_name': 'Doe'}

d.popitem()

Метод popitem() используется для удаления и возвращает пары ключ-значение из словаря в порядке «последним добавлен — первым удален». Если метод вызывается в пустом словаре, то отобразится KeyError.

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict.popitem()
('email', 'jdoe@gmail.com')
>>> sample_dict
{'first_name': 'James', 'last_name': 'Doe'}

d.update()

Метод обновляет словарь другими парами ключ-значение, перезаписывая существующие ключи. Возвращает None.

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict.update()
>>> sample_dict
{'email': 'jdoe@gmail.com',
'first_name': 'James',
'last_name': 'Doe',
'something': 'else'}

More examples

pcm: Here is a useful example: an array of dicts.

array set U {
    tom  { Name {Tom Brown}  Sex M  Age 19  Class {4 5} }
    mary { Name {Mary Brown} Sex F  Age 16  Class {5}   }
    sam  { Name {Sam Spade}  Sex M  Age 19  Class {3 4} }
}

dict set     U(tom)  Sex F
dict append  U(sam)  Name { Jr}
dict lappend U(sam)  Class 5
dict incr    U(mary) Age
dict set     U(tom)  Sax Y;  # Creates a new key.
dict set     U(bill) Sax N;  # Creates a new entry.

parray U

AMW: Here is another example, storing filesystem information in a dict that reflects the hierarchy (taken from dictree):

proc dictdir `dir `.`` {
    set d {} 
    foreach subdir ] {
        dict set d / 
    }
    foreach fname ] {
        file stat $fname fstat
        # unsorted but faster:
        # dict set d /  
        # sorted:
        foreach item ] {
            dict set d /  $item $fstat($item)
        }
    }
    return $d
}

Operators and Built-in Functions

You have already become familiar with many of the operators and built-in functions that can be used with strings, , and . Some of these work with dictionaries as well.

For example, the and operators return or according to whether the specified operand occurs as a key in the dictionary:

>>>

You can use the operator together with short-circuit evaluation to avoid raising an error when trying to access a key that is not in the dictionary:

>>>

In the second case, due to short-circuit evaluation, the expression is not evaluated, so the exception does not occur.

The function returns the number of key-value pairs in a dictionary:

Python dictionary creation

First, we show how to create Python dictionaries.

create_dict.py

#!/usr/bin/env python

# create_dict.py

weekend = { "Sun": "Sunday", "Mon": "Monday" }
vals = dict(one=1, two=2)

capitals = {}
capitals = "Bratislava"
capitals = "Berlin"
capitals = "Copenhagen"

d = { i: object() for i in range(4) }

print(weekend)
print(vals)
print(capitals)
print(d)

In the example, we create four dictionaries in four different ways. Later
we print the contents of these dictionaries to the console.

weekend = { "Sun": "Sunday", "Mon": "Monday" }

We create a weekend dictionary using dictionary literal notation.
The key-value pairs are enclosed by curly brackets. The pairs are separated
by commas. The first value of a pair is a key, which is followed by
a colon character and a value. The string is a key
and the string is a value.

vals = dict(one=1, two=2)

Dictionaries can be created using the function.

capitals = {}
capitals = "Bratislava"
capitals = "Berlin"
capitals = "Copenhagen"

In the third way an empty capitals dictionary is created. Three
pairs are added to the dictionary. The keys are inside the square brackets,
the values are located on the right side of the assignment.

d = { i: object() for i in range(4) }

A dictionary is created using a dictionary comprehension. The comprehension
has two parts. The first part is the expression, which
is executed for each cycle of a loop. The second part is the
loop. The dictionary comprehension creates a dictionary having four pairs, where the
keys are numbers 0, 1, 2, and 3 and the values are simple objects.

$ ./create_dict.py
{'Sun': 'Sunday', 'Mon': 'Monday'}
{'two': 2, 'one': 1}
{'svk': 'Bratislava', 'dnk': 'Copenhagen', 'deu': 'Berlin'}
{0: <object object at 0xb76cb4a8>, 1: <object object at 0xb76cb4b0>,
2: <object object at 0xb76cb4b8>, 3: <object object at 0xb76cb4c0>}

This is the example output.

Операции над словарями Python

Если словарь, содержащий полный набор данных, большой, то разумнее использовать список lowscores, который мы только что скомпилировали, чтобы создать совершенно новый словарь (Python список в словарь). Преимущество этого приема заключается в том, что для дальнейшего анализа не нужно хранить в памяти большой словарь. Можно просто перейти к соответствующему подмножеству исходных данных.

Во-первых, мы используем ключи, хранящиеся в lowscores, для создания нового словаря. Чтобы сделать это, есть два способа: первый — извлекаем только соответствующие элементы из исходного словаря с помощью метода .get(), оставляя исходный словарь без изменений. Второй — использовать метод .pop(), который удаляет извлеченные записи из исходного словаря.

Код для подмножества может выглядеть следующим образом: subset = dict(). Такое написание может показаться незнакомым, потому что цикл задан одной строкой кода. Этот стиль называется «генерацией словаря». На самом деле это цикл for, который перебирает элементы lowscores, извлекает значения из отзывов и использует их для заполнения нового словаря.

Вы можете сравнить традиционный стиль с использованием цикла и генерацию словаря и убедиться, что они действительно дают идентичный результат:

# Метод с использованием цикла for для создания подмножества словаря
forloop = {}
for k in lowscores:
  forloop = reviews
# Добавляем специальный метод извлечения релевантных элементов из словаря `reviews`
dictcomp = {k : reviews.___(k) for k in lowscores}
# Удостоверимся, что эти объекты аналогичны
print(forloop == ________)

Предположим, что теперь вы хотите изменить словарь Python 3, чтобы оценки выступали в качестве ключей словаря, а не идентификаторов. Можно использовать для этого цикл for, указав как ключи, так и значения, и создав новый вложенный словарь. Нужно будет извлечь «score» из исходного вложенного словаря, чтобы использовать его в качестве нового ключа.

Чтобы упростить код, мы создаем в отдельной строке новый вложенный словарь как новый объект newvalues. После чего заполняем scoredict идентификаторами в качестве ключей и объектами из словаря newvalues в качестве значений:

from collections import defaultdict
scoredict = defaultdict(list)
for key, value in reviews.items():
  newvalues = {'id' : key, "title" : value, "review" : value}
  # Используем 'score' из значений (!) из исходного словаря в качестве ключей для только что созданного  словаря
  scoredict].append(newvalues)

# Выводим ключи словаря, чтобы удостовериться, что это на самом деле оценки из отзывов
print(scoredict.keys())

Dictionary Membership Test

You can test if a key in the present inside a dictionary or not. This test can be performed only on the key of a dictionary and not the value. The membership test is done using the in keyword. When you check the key in the dictionary using the in keyword, the expression returns true if the key is present and false if not.

Here is an example that shows member ship test on a dictionary.

my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

Output:

True
True
False

Summary:

  • Dictionaries in a programming language is a type of data-structure used to store information connected in some way.
  • Python Dictionary are defined into two elements Keys and Values.
  • Dictionaries do not store their information in any particular order, so you may not get your information back in the same order you entered it.
  • Keys will be a single element
  • Values can be a list or list within a list, numbers, etc.
  • More than one entry per key is not allowed ( no duplicate key is allowed)
  • The values in the dictionary can be of any type, while the keys must be immutable like numbers, tuples, or strings.
  • Dictionary keys are case sensitive- Same key name but with the different cases are treated as different keys in Python dictionaries.

Python Dictionary Methods

Methods that are available with a dictionary are tabulated below. Some of them have already been used in the above examples.

Method Description
clear() Removes all items from the dictionary.
copy() Returns a shallow copy of the dictionary.
fromkeys(seq) Returns a new dictionary with keys from seq and value equal to v (defaults to ).
get(key) Returns the value of the key. If the key does not exist, returns d (defaults to ).
items() Return a new object of the dictionary’s items in (key, value) format.
keys() Returns a new object of the dictionary’s keys.
pop(key) Removes the item with the key and returns its value or d if key is not found. If d is not provided and the key is not found, it raises .
popitem() Removes and returns an arbitrary item (key, value). Raises if the dictionary is empty.
setdefault(key) Returns the corresponding value if the key is in the dictionary. If not, inserts the key with a value of d and returns d (defaults to ).
update() Updates the dictionary with the key/value pairs from other, overwriting existing keys.
values() Returns a new object of the dictionary’s values

Here are a few example use cases of these methods.

Output

{'Math': 0, 'English': 0, 'Science': 0}
('Math', 0)
('English', 0)
('Science', 0)

Defining a Dictionary

Dictionaries are Python’s implementation of a data structure that is more generally known as an associative array. A dictionary consists of a collection of key-value pairs. Each key-value pair maps the key to its associated value.

You can define a dictionary by enclosing a comma-separated list of key-value pairs in curly braces (). A colon () separates each key from its associated value:

The following defines a dictionary that maps a location to the name of its corresponding Major League Baseball team:

>>>

You can also construct a dictionary with the built-in function. The argument to should be a sequence of key-value pairs. A list of tuples works well for this:

can then also be defined this way:

>>>

If the key values are simple strings, they can be specified as keyword arguments. So here is yet another way to define :

>>>

Once you’ve defined a dictionary, you can display its contents, the same as you can do for a list. All three of the definitions shown above appear as follows when displayed:

>>>

The entries in the dictionary display in the order they were defined. But that is irrelevant when it comes to retrieving them. Dictionary elements are not accessed by numerical index:

>>>

Словари

Словарь Python, по большей части, представляет собой хэш-таблицу. В некоторых языках, словари могут упоминаться как ассоциативная память, или ассоциативные массивы. Они индексируются при помощи ключей, которые могут быть любого неизменяемого типа. Например, строка или число могут быть ключом. Вам обязательно стоит запомнить тот факт, что словарь – это неупорядоченный набор пар ключ:значение, и ключи обязательно должны быть уникальными.

Вы можете получить список ключей путем вызова метода keys() в том или ином словаря. Чтобы проверить, присутствует ли ключ в словаре, вы можете использовать ключ in в Python. В некоторых старых версиях Python (с 2.3 и более ранних, если быть точным), вы увидите ключевое слово has_key, которое используется для проверки наличия ключа в словаре. Данный ключ является устаревшим в Python 2.X, и был удален, начиная с версии 3.Х. Давайте попробуем создать наш первый словарь:

Python

my_dict = {}
another_dict = dict()

my_other_dict = {«one»:1, «two»:2, «three»:3}
print(my_other_dict) # {‘three’: 3, ‘two’: 2, ‘one’: 1}

1
2
3
4
5

my_dict={}

another_dict=dict()

my_other_dict={«one»1,»two»2,»three»3}

print(my_other_dict)# {‘three’: 3, ‘two’: 2, ‘one’: 1}

Первые два примера показывают, как создавать пустой словарь. Все словари находятся в фигурных скобках. Последняя строчка показывает, что мы имеем в виду, когда говорим «неупорядоченный словарь». Теперь настало время узнать, как принимаются значения в словаре.

Python

my_other_dict = {«one»:1, «two»:2, «three»:3}

print(my_other_dict) # 1

my_dict = {«name»:»Mike», «address»:»123 Happy Way»}
print(my_dict) # ‘Mike’

1
2
3
4
5
6

my_other_dict={«one»1,»two»2,»three»3}

print(my_other_dict»one»)# 1

my_dict={«name»»Mike»,»address»»123 Happy Way»}

print(my_dict»name»)# ‘Mike’

В первом примере, мы использовали словарь из предыдущего примере, и вытащили значение, связанное с ключом под названием one. Второй пример демонстрирует, как задавать значение ключу name. Теперь попробуем узнать, находится ли ключ в словаре или нет:

Python

print(«name» in my_dict) # True

print(«state» in my_dict) # False

1
2
3

print(«name»inmy_dict)# True

print(«state»inmy_dict)# False

Что-ж, если ключ в словаре, Python выдает нам Boolean True. В противном случае, мы получаем Boolean False. Если вам нужно получить список ключей  в словаре, вам нужно сделать следующее:

Python

print(my_dict.keys()) # dict_keys()

1 print(my_dict.keys())# dict_keys()

В Python 2, метод keys дает нам список. Но в Python 3 он дает объект view. Это дает разработчику возможность обновлять словарь, так что view также обновится

Обратите внимание на то, что когда мы используем ключевое слово in для текста содержимого словаря, лучше будет сделать это в словаре, а не в списке, выдаваемом методом keys. Смотрим ниже:

Python

if «name» in my_dict # Такая конструкция правильная

if «name» in my_dict.keys() # Работает но медленее

1
2
3

if»name»inmy_dict# Такая конструкция правильная

if»name»inmy_dict.keys()# Работает но медленее

Пока это, возможно, не говорит вам о многом, во время реальной работы ситуация будет другая и каждая секунда будет важна. При создании тысячи файлов для обработки, эти маленькие хитрости могут уберечь вас от бесполезной траты времени.

Dictionary Keys vs. List Indices

You may have noticed that the interpreter raises the same exception, , when a dictionary is accessed with either an undefined key or by a numeric index:

>>>

In fact, it’s the same error. In the latter case, looks like a numerical index, but it isn’t.

You will see later in this tutorial that an object of any immutable type can be used as a dictionary key. Accordingly, there is no reason you can’t use integers:

>>>

In the expressions , , and , the numbers in square brackets appear as though they might be indices. But they have nothing to do with the order of the items in the dictionary. Python is interpreting them as dictionary keys. If you define this same dictionary in reverse order, you still get the same values using the same keys:

>>>

The syntax may look similar, but you can’t treat a dictionary like a list:

>>>

Note: Although access to items in a dictionary does not depend on order, Python does guarantee that the order of items in a dictionary is preserved. When displayed, items will appear in the order they were defined, and iteration through the keys will occur in that order as well. Items added to a dictionary are added at the end. If items are deleted, the order of the remaining items is retained.

You can only count on this preservation of order very recently. It was . However, it was true as of version 3.6 as well—by happenstance as a result of the implementation but not guaranteed by the language specification.

Практическая работа

  1. Создайте словарь, связав его с переменной school, и наполните данными, которые бы отражали количество учащихся в разных классах (1а, 1б, 2б, 6а, 7в и т. п.). Внесите изменения в словарь согласно следующему: а) в одном из классов изменилось количество учащихся, б) в школе появился новый класс, с) в школе был расформирован (удален) другой класс. Вычислите общее количество учащихся в школе.

  2. Создайте словарь, где ключами являются числа, а значениями – строки. Примените к нему метод , полученный объект передайте в написанную вами функцию, которая создает и возвращает новый словарь, «обратный» исходному, т. е. ключами являются строки, а значениями – числа.

Разные способы сортировки словаря в Python

Как упомянуто выше, элемент словаря состоит из ключа и соответствующего значения. Следовательно, сортировка для словаря можно выполнить с помощью любого из ключ или ценность части как параметр.

Итак, давайте теперь посмотрим на разные методы, с помощью которых мы можем отсортировать словарь по ключу или по значению Отказ

1. Сортировать словарь по ключу

Мы можем напрямую отсортировать словарь, используя встроенный Метод в Python. Это можно сделать, передавая саму словарь и функцию, которая определяет параметр на основе которого должна быть сделана сортировка (в данном случае ключ).

Давайте посмотрим, как.

d = { 5: 1 , 4: 2 , 3: 3 , 2: 4 , 1: 5 }

print("The original dictionary: ", d)

#sorting by key
a = dict(sorted(d.items(), key=lambda x: x))

print("After sorting by key: ", a)

Выход:

The original dictionary:  {5: 1, 4: 2, 3: 3, 2: 4, 1: 5}
After sorting by key:  {1: 5, 2: 4, 3: 3, 4: 2, 5: 1}

Здесь,

  • Метод возвращает список кортежей (элементов), содержащих Ключи и их соответствующие Значения ,
  • Функция возвращает ключ ( 0-й элемент) для конкретного предмета кортеля,
  • Когда они передаются на Метод, он возвращает отсортированную последовательность, которая затем вписывается в словарь.

Помните, этот метод можно использовать в Python 3.6+ Версии, как оно рассматривает словари как упорядоченные последовательности. Для более старых версий мы можем заменить

from operator import itemgetter

d = { 5: 1 , 4: 2 , 3: 3 , 2: 4 , 1: 5 }
print("Original Dict: ", d)

#sorting by key
s_d = dict(sorted(d.items(), key=itemgetter(0)))
print("Sorted dict: ", s_d)

Выход:

Original Dict:  {5: 1, 4: 2, 3: 3, 2: 4, 1: 5}
Sorted dict:  {1: 5, 2: 4, 3: 3, 4: 2, 5: 1}

Вот и методы и работать так же. Но вместо лямбда Функция, Метод возвращает Callable объект, который выбирает 0-й предмет от его операнда, используя операнд метод. В этом случае, как нам нужно сортировать по ключу мы рассмотрим 0-й элемент.

2. Сортировка словаря по значению

Сортировка словаря по значению аналогично сортировке по ключу. Единственное различие в том, что этот тип параметра на основе которого будет сделана сортировка, это ценность часть соответствующих предметов.

Следовательно, как мы делали ранее, мы можем использовать Способ наряду с лямбдами функцией для Python 3.6+ Версии. Давайте посмотрим, как.

d = { 0: 'd', 1: 'c', 2: 'b', 3: 'a' }

print("The original dictionary: ", d)

#sorting by value
a = dict(sorted(d.items(), key=lambda x: x) )

print("After sorting by value: ", a)

Выход:

The original dictionary:  {0: 'd', 1: 'c', 2: 'b', 3: 'a'}
After sorting by value:  {3: 'a', 2: 'b', 1: 'c', 0: 'd'}

Точно так же здесь, согласно значениям, возвращенным лямбда Функция ( Значение для элемента ) словарь отсортирован.

Опять же для более старых версий Python следуйте указанному ниже методу.

from operator import itemgetter

d = { 0: 'd', 1: 'c', 2: 'b' , 3: 'a' }
print("Original Dict: ", d)

#sorting by value
s_d = dict(sorted(d.items(), key=itemgetter(1)))
print("Sorted dict: ", s_d)

Выход:

Original Dict:  {0: 'd', 1: 'c', 2: 'b', 3: 'a'}
Sorted dict:  {3: 'a', 2: 'b', 1: 'c', 0: 'd'}

Аналогичным образом, отсортировано () наряду с D.Items () и itemgetter (1) методами сортировки словаря d на основе значения.

3. Сортировка в обратном порядке

Метод поставляется с другим аргументом Отказ Это можно использовать для указания порядка, в котором должна быть сделана сортировка. Если прошло сортировка проходит в Обратный порядок (по убыванию). И если пропущено (по умолчанию), сортировка имеет место в восходящая заказывать.

Давайте попробуем понять это на примере, где мы пытаемся обратить вспять словарь по ключу.

d = { 'a': 23, 'g': 67, 'e': 12, 45: 90}

print("The original dictionary: ", d)

#sorting by value in reverse
a = dict(sorted(d.items(), reverse = True, key=lambda x: x))
print("After sorting by value in reverse order: ", a)

#sorting by value in ascending order
a = dict(sorted(d.items(), key=lambda x: x))#by default reverse is set to False
print("After sorting by value in ascending order: ", a)

Выход:

The original dictionary:  {'a': 23, 'g': 67, 'e': 12, 45: 90}
After sorting by value in reverse order:  {45: 90, 'g': 67, 'a': 23, 'e': 12}
After sorting by value in ascending order:  {'e': 12, 'a': 23, 'g': 67, 45: 90}

С вышеуказанного выхода, Ясно, что прохождение обратного параметра как Вышеуказанный словарь отсортирован в обратном порядке ( нисходящее ).

Iterating over Dictionary using for loop

We can iterate over a dictionary using the for loop. There are many ways to use for loop with a dictionary.

1. Loop through key-value pairs using items() function

fruits_dict = {"1": "Apple", "2": "Banana", "3": "Orange"}

for key, value in fruits_dict.items():
    print(f'{key}={value}')

Output:

1=Apple
2=Banana
3=Orange
fruits_dict = {"1": "Apple", "2": "Banana", "3": "Orange"}

for key in fruits_dict:
    print(key)

Output:

1
2
3

3. Loop through Dictionary Values using values() function

We can use values() function to get the values and then iterate over it.

fruits_dict = {"1": "Apple", "2": "Banana", "3": "Orange"}

for value in fruits_dict.values():
    print(value)

Output:

Apple
Banana
Orange
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector