Python 中打印字典中的所有鍵值對的示例詳解
要打印字典中的所有鍵值對:
- 使用
dict.items()方法獲取字典項目的視圖。 - 使用
for循環(huán)遍歷視圖。 - 使用
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() 方法。
生成器表達式用于對每個元素執(zhí)行某些操作或選擇滿足條件的元素子集。
在每次迭代中,我們使用格式化的字符串文字來格式化鍵值對。
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 中打印字典中的所有鍵值對的文章就介紹到這了,更多相關Python打印字典鍵值對內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python正則表達式?r'(.*)?are?(.*?)?.*'的深入理解
日常的開發(fā)工作中經常會有處理字符串的需求,簡單的字符串處理,我們使用python內置的字符串處理函數就可以了,但是復雜的字符串匹配就需要借助正則表達式了,這篇文章主要給大家介紹了關于Python正則表達式?r‘(.*)?are?(.*?)?.*‘的相關資料,需要的朋友可以參考下2022-07-07

