Словарь Pythonа | Метод fromkeys()

| |

Иногда возникает необходимость сформировать словарь из заданных ключей. Грубо говоря, это потребует времени и будет более утомительной работой. Следовательно, fromkeys() помогает нам легко решить эту проблему, используя всего один метод. В этой статье объясняются операционные и другие аспекты, связанные с этой функцией.

Синтаксис: fromkeys (seq, val)

Параметры:
seq: Последовательность, которую нужно преобразовать в словарь.
val: Начальные значения, которые необходимо присвоить сгенерированным ключам... По умолчанию None.

Возвращает: Словарь с ключами, сопоставленными с None, если значение не указано, иначе со значением, указанным в поле.

Код #1: Демонстрация fromkeys()

# Демонстрационный код Python 3
# работа с ключами ()


# последовательность инициализации

seq = { ’a’ , ’ b’ , ’c’ , ’ d’ , ’e’ }


# использование fromkeys() для преобразования последовательности в dict
# инициализировать с использованием None

res_dict = dict . fromkeys (seq)


# Распечатать созданный словарь

print ( "Вновь созданный словарь со значениями None:" + str (res_dict ))


# использование fromkeys() для преобразования последовательности в dict
# инициализировать 1

res_dict 2 = dict . Fromkeys (seq, 1 )


# Печать словаря создана

print ( "Вновь созданный словарь со значением 1:" + str (res_dict2))

Выход:

Вновь созданный словарь со значениями None: {’d’: None, ’a’: None, ’b’: None, ’c’: None, ’e’: None }
Вновь созданный словарь со значением 1: {’ d ’: 1,’ a ’: 1,’ b ’: 1,’ c ’: 1,’ e ’: 1}

< /blockquote>

Поведение fromdict() с изменяемыми объектами в качестве значений:

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

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

Код № 2: Демонстрация поведения с изменяемыми объектами.

< td class = "code">

# демонстрационный код Python 3
# поведение с изменяемыми объектами


# последовательность и инициализация списка

seq = { ’a’ , ’ b’ , ’c’ , ’d’ , ’ e’ }

lis1 = [ 2 , 3 ]


# использование fromkeys() для преобразования последовательности в dict
# с использованием обычного метода

res_dict = dict . fromkeys (seq, lis1)


# Распечатать созданный словарь

print ( "Вновь созданный словарь со значениями списка:"

+ str (res_dict))

< br /> # добавить в lis1

lis1.append ( 4 )


# Печатать диктат после добавления
# Обратите внимание, что добавление происходит во всех значениях

print ( " Словарь со значениями списка после добавления: "

< класс кода = "ключевое слово"> + <класс кода = "функции"> str (res_dict))

lis1 = [ 2 , 3 ]

print ( ’’ )


# использование fromkeys() для преобразования последовательности в dict
# использование dict. понимание

res_dict2 = {key: list (lis1) for ключ в seq}


# Печать созданного словаря

print ( " Вновь созданный словарь со значениями списка: "

+ str (res_dict2))


# добавить в lis1

lis1.append ( 4 )

# Печатать диктат после добавления
# Обратите внимание, что добавление сейчас не происходит.

print ( " Словарь со списком значения после добавления (без изменений): "

+ str (res_dict2))

Вывод:

Вновь созданный словарь со значениями списка: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3] , ’a’: [2, 3], ’b’: [2, 3]}
Словарь со значениями списка после добавления: {’d’: [2, 3, 4], ’e’: [2, 3, 4], ’c’: [2, 3, 4], ’a’: [2, 3, 4], ’b’: [2, 3, 4] }

Недавно созданный словарь со значениями списка: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’ : [2, 3], ’b’: [2, 3]}
Словарь со значениями списка после добавления (без изменений): {’d’: [2, 3], ’e’: [2, 3], ’c’ : [2, 3], ’a’: [2, 3], ’b’: [2, 3]}

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method