要列印字典中的所有鍵值對:
#使用 dict.items()
方法取得字典項目的視圖。
使用 for
迴圈遍歷視圖。
使用 print()
函數列印每個鍵值對。
my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } for key, value in my_dict.items(): # name jiyik # age 30 # language Python print(key, value) print(list(my_dict.keys())) # ????️ ['name', 'age', 'language'] print(list(my_dict.values())) # ????️ ['jiyik', 30, 'Python']
dict.items
方法傳回字典項目((鍵,值)對)的新視圖。
# ????️ [('name', 'jiyik'), ('age', 30), ('language', 'Python')] print(list(my_dict.items()))
如果我們需要以任何方式格式化鍵和值,請使用格式化字串文字。
my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } for key, value in my_dict.items(): # name=jiyik # age=30 # language=Python print(f'{key}={value}')
格式化字串文字
f-strings
讓我們透過在字串前加上 f 來在字串中包含表達式。
var1 = 'fql' var2 = 'jiyik' result = f'{var1}{var2}' print(result) # ????️ fqljiyik
確保將表達式用大括號括起來 - {expression}
。
我們可以使用 dict.keys()
和 dict.values()
方法來列印字典的鍵和值。
my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } print(list(my_dict.keys())) # ????️ ['name', 'age', 'language'] print(list(my_dict.values())) # ????️ ['jiyik', 30, 'Python']
dict.keys
方法傳回字典鍵的新視圖。
dict.values
方法傳回字典值的新視圖。
如果我們需要將字典的鍵值對連接成一個字串,請使用
str.join()
方法。
my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } result = ', '.join(f'{key}: {value}' for key, value in my_dict.items()) # ????️ name: jiyik, age: 30, language: Python print(result)
我們將生成器表達式傳遞給 str.join()
方法。
產生器表達式用於對每個元素執行某些操作或選擇滿足條件的元素子集。
在每次迭代中,我們使用格式化的字串文字來格式化鍵值對。
str.join
方法將一個可迭代物件作為參數並傳回字串,該字串是可迭代物件中字串的串聯。
呼叫該方法的字串用作元素之間的分隔符號。
我們使用逗號和空格作為鍵值對之間的分隔符,但您可以使用任何其他分隔符號。
下面是一個使用換行符號
(\n)
作為分隔符號的範例。
my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } result = '\n'.join(f'{key}: {value}' for key, value in my_dict.items()) # name: jiyik # age: 30 # language: Python print(result)
當與換行符號 \n
字元分隔符號連接時,字典的鍵值對會列印在單獨的行上。
我們也可以使用可迭代的 *
解包運算子和 sep 參數來列印字典中的所有鍵值對。
my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } # ('name', 'jiyik') # ('age', 30) # ('language', 'Python') print(*my_dict.items(), sep='\n')
*
可迭代解包運算子使我們能夠在函數呼叫、推導式和生成器表達式中解包可迭代物件。
sep 參數是我們傳遞給 print()
的參數之間的分隔符號。
print('fql', 'jiyik', sep='') # ????️ fqljiyik print('fql', 'jiyik') # ????️ fql jiyik
預設情況下,sep 參數設定為空格。
我們可以使用 json.dumps()
方法漂亮地列印字典中的鍵值對。
import json my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } # { # "name": "jiyik", # "age": 30, # "language": "Python" # } print(json.dumps(my_dict, indent=4))
json.dumps
方法將 Python 物件轉換為 JSON 格式的字串。
如果
indent
設定為非負整數,則 JSON 陣列元素或物件成員將使用指定的縮排等級進行漂亮列印。
我們使用 4 個空格的縮排級別,但您可以使用任何其他正整數。
我們可以將 sort_keys
參數設為 True 以在序列化為 JSON 時對字典的鍵進行排序。
import json my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } # { # "age": 30, # "language": "Python", # "name": "jiyik" # } print(json.dumps(my_dict, indent=4, sort_keys=True))
sort_keys
參數可用來按鍵按字母順序對輸出進行排序。
我們也可以使用 pprint()
方法漂亮地列印字典中的鍵值對。
from pprint import pprint my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } # {'name': 'jiyik', # 'age': 30, # 'language': 'Python'} pprint(my_dict, width=1, sort_dicts=False)
pprint.pprint
方法列印物件的格式化表示。
我們將寬度參數設為 1,以將每行所需的最大字元數設為 1。
這樣,字典中的所有鍵值對都會印在不同的行上。
我們也將 sort_dicts
參數設為 False 以防止該方法按字母順序對字典中的鍵進行排序。
當 sort_dicts
設定為 False 時,字典的項目會依照插入順序列印。
以上是Python如何列印字典中的所有鍵值對的詳細內容。更多資訊請關注PHP中文網其他相關文章!