Python с нуля

Использование метода items

Так же как и методы keys и values, метод items возвращает объект представления, но вместо того, чтобы просто выполнять итерации по ключам или значениям, он выполняет итерации по индексу словарю (ключу и значению одновременно).

Давайте посмотрим как это работает

Результат выполнения кода

Итерация словаря по паре клюк:значение происходит следующим образом

Результат выполнения кода

Важно отметить, что в старых версиях Python, где items, keys и values возвращали копию данных из словаря, Python 3 возвращает объект представления. Они более эффективны, так как обеспечивают динамическое представление и кроме того, при внесении изменений в исходный словарь, они сразу же отражаются в объекте представления (и наоборот)

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

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  

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)

Перебор элементов словаря

Можно легко организовать перебор ключей всех элементов в словаре:

A = dict(zip('abcdef', list(range(6))))
for key in A:
    print(key, A)

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

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

Методы словаря

Кроме рассмотренных выше трех методов , и словари обладают еще восемью. Это методы , , , , , , , .

Метод удаляет все элементы словаря, но не удаляет сам словарь. В итоге остается пустой словарь:

>>> nums
{'one': (1, 'I'), 'two': (2, 'II')}
>>> nums.clear()
>>> nums
{}
>>> n1 = {'a': 1, 'b': 2}
>>> n2 = n1
>>> n3 = n1.copy()
>>> n2 = 3
>>> n1
{'a': 1, 'b': 2, 'c': 3}
>>> n2
{'a': 1, 'b': 2, 'c': 3}
>>> n3
{'a': 1, 'b': 2}

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

>>> a = 
>>> c = dict.fromkeys(a)
>>> c
{1: None, 2: None, 3: None}
>>> d = dict.fromkeys(a, 10)
>>> d
{1: 10, 2: 10, 3: 10}
>>> c
{1: None, 2: None, 3: None}

Метод позволяет получить элемент по его ключу:

>>> nums.get(1)
'one'

Равносильно .

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

>>> nums.pop(1)
'one'
>>> nums
{2: 'two', 3: 'three'}
>>> nums.popitem()
(2, 'two')
>>> nums
{3: 'three'}

С помощью можно добавить элемент в словарь:

>>> nums.setdefault(4, 'four')
'four'
>>> nums
{3: 'three', 4: 'four'}

Равносильно , если элемент с ключом 4 отсутствует в словаре. Если он уже есть, то перезапишет старое значение, – нет.

С помощью можно добавить в словарь другой словарь:

>>> nums.update({6: 'six', 7: 'seven'})
>>> nums
{3: 'three', 4: 'four', 6: 'six', 7: 'seven'}

Также метод обновляет значения существующих ключей. Включает еще ряд особенностей.

Словарь и список: выполнение преобразования из списка в словарь

Словарь (dictionary) и список (list) — типы, непохожие по своей структуре. Однако для отдельных видов списка есть возможность преобразования списка в словарь. Для этого используют встроенную функцию dict(). Необходимо, чтобы список хранил набор вложенных списков. Также нужно, чтобы каждый вложенный список состоял из 2-х элементов. В результате во время конвертации списка в словарь 1-й элемент превратится в ключ, 2-й — в значение:

    users_list = 
    "+111123455", "Tom"],
    "+384767557", "Bob"],
    "+958758767", "Alice"

users_dict = dict(users_list)
print(users_dict)  # {"+111123455": "Tom", "+384767557": "Bob", "+958758767": "Alice"}

Таким же образом возможно преобразование в словарь не только списка, но и двухмерных кортежей:

    users_tuple = (
    ("+111123455", "Tom"),
    ("+384767557", "Bob"),
    ("+958758767", "Alice")
)
users_dict = dict(users_tuple)
print(users_dict)

Материал подготовлен специально для OTUS на основании статьи «Python Dictionary and Dictionary Methods».

Add / Append values to an existing key to a dictionary in python

Suppose you don’t want to replace the value of an existing key in the dictionary. Instead, we want to append a new value to the current values of a key. Let’s see how to do that,

def append_value(dict_obj, key, value):
    # Check if key exist in dict or not
    if key in dict_obj:
        # Key exist in dict.
        # Check if type of value of key is list or not
        if not isinstance(dict_obj, list):
            # If type is not list then make it list
            dict_obj = ]
        # Append the value in list
        dict_obj.append(value)
    else:
        # As key is not in dict,
        # so, add key-value pair
        dict_obj = value

# Dictionary of strings and ints
word_freq = {"Hello": 56,
             "at": 23,
             "test": 43,
             "this": 43}

append_value(word_freq, 'at', 21)

print(word_freq)

Output:

{'Hello': 56,
 'at': ,
 'test': 43,
 'this': 43}

It added a new value, 21, to the existing values of key ‘at’.

How did it work?

We will check if the key already exists in the dictionary or not,

  • If the key does not exist, then add the new key-value pair.
  • If the key already exists, then check if its value is of type list or not,
    • If its value is list object and then add new value to it.
    • If the existing value is not a list, then add the current value to a new list and then append the new value to the list. Then replace the value of the existing key with the new list.

Let’s check out some other examples of appending a new value to the existing values of a key in a dictionary,

Example 1:

append_value(word_freq, 'at', 22)

print(word_freq)

Output:

{'Hello': 56,
 'at': ,
 'test': 43,
 'this': 43}

Example 2:

append_value(word_freq, 'how', 33)

print(word_freq)

Output:

{'Hello': 56,
 'at': ,
 'test': 43,
 'this': 43,
 'how': 33}

Building a Dictionary Incrementally

Defining a dictionary using curly braces and a list of key-value pairs, as shown above, is fine if you know all the keys and values in advance. But what if you want to build a dictionary on the fly?

You can start by creating an empty dictionary, which is specified by empty curly braces. Then you can add new keys and values one at a time:

>>>

Once the dictionary is created in this way, its values are accessed the same way as any other dictionary:

>>>

Retrieving the values in the sublist or subdictionary requires an additional index or key:

>>>

This example exhibits another feature of dictionaries: the values contained in the dictionary don’t need to be the same type. In , some of the values are strings, one is an integer, one is a list, and one is another dictionary.

Just as the values in a dictionary don’t need to be of the same type, the keys don’t either:

>>>

Here, one of the keys is an integer, one is a float, and one is a Boolean. It’s not obvious how this would be useful, but you never know.

Notice how versatile Python dictionaries are. In , the same piece of information (the baseball team name) is kept for each of several different geographical locations. , on the other hand, stores varying types of data for a single person.

You can use dictionaries for a wide range of purposes because there are so few limitations on the keys and values that are allowed. But there are some. Read on!

Операции над словарями 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())

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?

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

Используемые данные — это отзывы на Amazon о книге Донны Тартт «The Goldfinch«. Они были сохранены в простом файле с разделителями. Таблица содержит четыре столбца: оценка, URL-адрес, заголовок отзыва и текст отзыва.

Есть несколько способов представить эти данные в Python словаре, но в нашем случае мы берем URL-адрес в качестве ключа и помещаем другие столбцы в словарь с вложенными значениями:

import urllib
import random
# Загружаем данные из удаленного места (URL-адреса)
file = urllib.request.urlopen("https://gist.githubusercontent.com/twielfaert/a0972bf366d9aaf6cb1206c16bf93731/raw/dde46ad1fa41f442971726f34ad03aaac85f5414/Donna-Tartt-The-Goldfinch.csv")
f = file.read()
# Преобразуем битовый поток в строки
text = f.decode(encoding='utf-8',errors='ignore')
# Разбиваем эту одну строку на концах линий
lines = text.split("n")
# Инициализируем словарь
reviews = {}
# Заполняем словарь
for line in lines:
  l = line.strip().split("t")

  # Это просто тестовые данные, чтобы посмотреть, что входит в словарь
  score = l 
  id = l
  title = l
  review = l

  reviews = {"score" : score, "title" : title, "review" : review}
# Берем случайный ключ из словаря и выводим его значение

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

# Подсчитываем количество строк в файле
print("Количество строк: " + str(len(lines)))
# Подсчитываем количество ключей в словаре; оно должно равняться количеству строк в файле
print("Количество ключей словаря: " + str(len(reviews.keys())))

Properties of Dictionary Keys

Dictionary values have no restrictions. They can be any arbitrary Python object, either standard objects or user-defined objects. However, same is not true for the keys.

There are two important points to remember about dictionary keys −

(a) More than one entry per key not allowed. Which means no duplicate key is allowed. When duplicate keys encountered during assignment, the last assignment wins. For example −

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict: ", dict

When the above code is executed, it produces the following result −

dict:  Manni

(b) Keys must be immutable. Which means you can use strings, numbers or tuples as dictionary keys but something like is not allowed. Following is a simple example −

#!/usr/bin/python

dict = {: 'Zara', 'Age': 7}
print "dict: ", dict

When the above code is executed, it produces the following result −

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      dict = {: 'Zara', 'Age': 7};
TypeError: unhashable type: 'list'

Итализация по словарю, используя для петли

Мы можем повторить словарь, используя петлю для цикла. Есть много способов использовать для петли с помощью словаря.

1. Структура сквозных пар ключей, используя элементы () Функции

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

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

Выход:

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

for key in fruits_dict:
    print(key)

Выход:

1
2
3

3. Структура через значения словаря с использованием значений () Функции

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

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

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

Выход:

Apple
Banana
Orange

Поверхностные и глубокие копии словарей

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

Сейчас и ссылаются на один и тот же словарь, теперь изменим словарь посредством переменной :

Но и теперь ссылается на тот же самый словарь:

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

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

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

Но данные вложенного списка и словаря являются общими:

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

А затем, с помощью функции выполняем глубокое копирование:

После чего мы получаем два, совершенно никак не связанных словаря:

Как удалить элементы из словаря Python?

Мы можем удалить определенный элемент в словаре, используя метод pop(). Этот метод удаляет элемент с предоставленным ключом и возвращает значение.

Метод popitem() может использоваться для удаления и возврата произвольного элемента (ключ, значение) из словаря. Все элементы сразу можно удалить, используя метод clear().

Мы также можем использовать ключевое слово del для удаления отдельных элементов или всего словаря.

# создаем словарь
squares = {1:1, 2:4, 3:9, 4:16, 5:25}

# удалить определенный элемент словаря
# результат: 16
print(squares.pop(4))

# результат: {1: 1, 2: 4, 3: 9, 5: 25}
print(squares)

# удалить случайный элемент из словаря
# результат: (1, 1)
print(squares.popitem())

# результат: {2: 4, 3: 9, 5: 25}
print(squares)

# удалить определенный элемент словаря
del squares

# результат: {2: 4, 3: 9}
print(squares)

# удалить все из словаря
squares.clear()

# результат: {}
print(squares)

# удалить словарь
del squares

# выведет ошибку
# print(squares)

Что такое словари в Python?

Прежде чем узнать о чем-то в глубине, всегда нужно начинать с простого и базового определения.

Как я уже сказал, словари являются типом коллекции в Python. Однако в отличие от списков, кортежей и наборов, вы не храните отдельные значения, но так называемые Пары ключа-значений Отказ Это означает, что вместо того, чтобы ссылаться на ваши значения через индекс, вы используете ключ, который является уникальным идентификатором.

l1 =  # List
t1 = (10, "Hello", True, 20.23) # Tuple
s1 = {10, "Hello", True, 20.23} # Set

d1 = {'number': 10,
      'greeting': "Hello",
      'boolean': True,
      'float': 20.23} # Dictionary

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

Обратите внимание, что значение не должно быть уникальным, так как мы не используем его для доступа или идентификации чего-либо

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

Тем не менее, вы всегда должны задавать себе, насколько разумно это. Большую часть времени строка будет лучшим выбором.

Properties of Dictionary Keys

Dictionary values have no restrictions. They can be any arbitrary Python object, either standard objects or user-defined objects. However, same is not true for the keys.

There are two important points to remember about dictionary keys −

(a) More than one entry per key is not allowed. This means no duplicate key is allowed. When duplicate keys are encountered during assignment, the last assignment wins. For example −

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print ("dict: ", dict)

When the above code is executed, it produces the following result −

dict:  Manni

(b) Keys must be immutable. This means you can use strings, numbers or tuples as dictionary keys but something like is not allowed. Following is a simple example −

#!/usr/bin/python3

dict = {: 'Zara', 'Age': 7}
print ("dict: ", dict)

When the above code is executed, it produces the following result −

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      dict = {: 'Zara', 'Age': 7}
TypeError: list objects are unhashable

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

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

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

Restrictions on Dictionary Keys

Almost any type of value can be used as a dictionary key in Python. You just saw this example, where integer, float, and Boolean objects are used as keys:

>>>

You can even use built-in objects like types and functions:

>>>

However, there are a couple restrictions that dictionary keys must abide by.

First, a given key can appear in a dictionary only once. Duplicate keys are not allowed. A dictionary maps each key to a corresponding value, so it doesn’t make sense to map a particular key more than once.

You saw above that when you assign a value to an already existing dictionary key, it does not add the key a second time, but replaces the existing value:

>>>

Similarly, if you specify a key a second time during the initial creation of a dictionary, the second occurrence will override the first:

>>>

Begone, Timberwolves! Thou art an NBA team. Sort of.

Secondly, a dictionary key must be of a type that is immutable. You have already seen examples where several of the immutable types you are familiar with—integer, float, string, and Boolean—have served as dictionary keys.

A tuple can also be a dictionary key, because tuples are immutable:

>>>

(Recall from the discussion on that one rationale for using a tuple instead of a list is that there are circumstances where an immutable type is required. This is one of them.)

However, neither a list nor another dictionary can serve as a dictionary key, because lists and dictionaries are mutable:

>>>

🔹 в резюме

  • Слоксиры являются встроенные типы данных в Python, которые связывают (MAP) ключей к значениям, формирующие пары клавишных значений.
  • Вы можете получить доступ к значению с соответствующим ключом.
  • Клавиши должны быть из неизменного типа данных.
  • Вы можете получить доступ, добавлять, изменять и удалять пары ключа-значение.
  • Словари предлагают широкий спектр методов, которые могут помочь вам выполнить общую функциональность.

Я действительно надеюсь, тебе понравилась моя статья и обнаружила, что это полезно. Теперь вы можете работать с словарями в ваших проектах Python. Проверьте мои онлайн-курсы Отказ Следуй за мной на Отказ ️.

Добро пожаловать

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

В частности, вы узнаете:

  • Какие словари используются для и их основные характеристики.
  • Почему они важны для ваших проектов программирования.
  • «Анатомия» словаря: клавиши, значения и пары клавишных пар.
  • Конкретные правила, которые определяют, может ли значение ключом может быть ключом.
  • Как получить доступ, добавить, модифицировать и удалить пары значения ключа.
  • Как проверить, находится ли ключ в словаре.
  • Какая длина словаря представляет.
  • Как повторять словари, используя для петлей.
  • Какие встроенные методы словаря вы можете использовать для использования мощности этого типа данных.

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

Давайте начнем! ️.

🔸 «анатомия» словаря Python

Поскольку словарь «подключает» два значения, он имеет два типа элементов:

  • Ключи: Ключ – это значение, используемое для доступа к другому значению. Ключи являются эквивалентом «индексов» в струнах, списках и кортежах. В словарях, чтобы получить доступ к значению, вы используете ключ, который является самой ценностью.
  • Значения: Это значения, которые вы можете получить доступ к соответствующему ключу.

Эти два элемента образуются, что называется Пара ключа-значения (ключ с соответствующим значением).

Синтаксис

Это пример сопоставления словаря Python Строка «Gino» на номер 15 и строку «Нора» на номер 30:

>>> {"Gino": 15, "Nora": 30}
  • Чтобы создать словарь, мы используем Кудрявые скобки Отказ
  • Между этими вьющимися кронштейнами мы пишем пары клавишных значений, разделенные запятой.
  • Для пар клавишных значений мы пишем ключ, а затем толстой кишкой, пространством и значением, которое соответствует ключу.

Советы:

  • Для читаемости и стиля рекомендуется добавить пространство после каждой запятой, чтобы отделить пары ключа-значений.
  • Вы можете создать пустой словарь с пустой парой фигурных скобок Отказ

Важные правила для ключей

Не каждое значение может быть ключом в словаре Python. Ключи должны следовать набором правил:

Согласно :

Ключи должны быть уникальными в одном словаре.

Ключи должны быть неизменными.

Если ключ – кортеж, он может содержать только строки, цифры или кортежи.

Списки не могут быть ключевыми ключами, потому что они смены. Это следствие предыдущего правила.

Примечание: Значения не имеют конкретных правил, они могут быть либо подменными, либо неизменными значениями.

Accessing Values in Dictionary

To access dictionary elements, you can use the familiar square brackets along with the key to obtain its value. Following is a simple example −

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict: ", dict
print "dict: ", dict

When the above code is executed, it produces the following result −

dict:  Zara
dict:  7

If we attempt to access a data item with a key, which is not part of the dictionary, we get an error as follows −

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict: ", dict

When the above code is executed, it produces the following result −

dict:
Traceback (most recent call last):
   File "test.py", line 4, in <module>
      print "dict: ", dict;
KeyError: 'Alice'

Изменение словаря

Предположим, что нужно добавить новую пару ключ-значение.

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict = '123 Dunn St'
>>> sample_dict
{'address': '123 Dunn St',
'email': 'jdoe@gmail.com',
'first_name': 'James',
'last_name': 'Doe'}

Чтобы добавить новый элемент в словарь, можно использовать квадратные скобки для установки ключа и значения. Если нужно обновить существующий ключ, можно сделать следующее:

>>> sample_dict = {'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict = 'jame@doe.com'
>>> sample_dict
{'email': 'jame@doe.com', 'first_name': 'James', 'last_name': 'Doe'}
Добавить комментарий

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

Adblock
detector