Python如何列印字典中的所有鍵值對

王林
發布: 2023-05-05 21:22:05
轉載
4502 人瀏覽過

要列印字典中的所有鍵值對:

  • #使用 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中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!