Python 字典 | fromkeys() 方法

| |

有時有必要從給定的鍵組成一個字典。粗略地做這將需要時間並且是更乏味的工作。因此,fromkeys() 可以幫助我們使用一種方法輕鬆解決這個問題。本文解釋了與此功能相關的操作和其他方面。

語法: fromkeys (seq, val)

參數:
seq: 要轉換成字典的序列。
val: 需要分配給生成的keys的初始值...默認為None。

返回: 如果沒有提供值,則映射到 None 的字典,否則映射到字段中提供的值。

代碼#1: fromkeys()的演示

# Python 3 演示代碼
# 使用鍵 ()


# 初始化序列

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


# 使用fromkeys()將sequence轉為dict
# 使用 None 初始化

res_dict = 字典 。 fromkeys (seq)


# 打印 dict created

print ( "新創建的無值字典:" + str (res_dict ))


# 使用 fromkeys() 將序列轉換為dict
# 初始化為1

res_dict 2 = dict 。 Fromkeys (seq, 1 )


# 打印創建的dict

print ( "新創建的dict,值為1:" + str (res_dict2))

退出:

新創建的具有 None 值的字典: {’d’: None, ’a’: None, ’b’: None, ’c’: None, ’e’: None }
新創建的以1為值的dict:{’d’:1,’a’:1,’b’:1,’c’:1,’e’:1}

< /blockquote>

可變對像作為值的 fromdict () 行為:

fromdict () 函數也可以提供多變量對像作為默認值。但是在這種情況下,從字典中創建了一個深拷貝,也就是說,如果我們向原始列表添加一個值,則添加發生在所有鍵值中。

預防:可以使用某些字典理解技術來創建一個新列表作為鍵值,而不是指向原始列表作為鍵值。

代碼#2: 展示可變對象的行為。

< td class = "code">

# Python 3 演示代碼
# 可變對象的行為


# 序列和列表初始化

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

lis1 = [ 2 , 3 ]


# 使用fromkeys()將sequence轉為dict
# 使用普通方法

res_dict = dict 。 fromkeys (seq, lis1)


# 打印創建的dict

print ( "新創建的帶有列表值的字典:"

+ str (res_dict))

< br /> # 添加到 lis1

lis1.append ( 4 )


# 添加後打印diktat
# 注意添加發生在所有值中 ​​

print ( " 附加後帶有列表值的dict:"

<代碼類 = "關鍵字"> + <代碼類 = "函數"> str (res_dict) )

lis1 <代碼類 ="keyword "> = [ 2 , 3 ]

print ( ’’ )


# 使用 fromkeys() 將序列轉換為 dict
# 使用 dict.理解

res_dict2 = {key: list (lis1) for key in seq}


# 打印創建的dict

print ( " 新創建的帶有列表值的 dict:"

+ str (res_dict2))


# 添加到 lis1

lis1.append ( 4 )

# 添加後打印 diktat
# 注意現在沒有添加。

print ( " 帶有列表的 dict附加後的值(不變):"

+ str (res_dict2))

輸出:

新創建的dict,列表值:{’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3] , ’a’: [2, 3], ’b’: [2, 3]}
附加後帶有列表值的dict:{’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]}
附加後帶有列表值的dict(不變):{’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