Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mencetak semua pasangan nilai kunci dalam kamus dalam Python
Untuk mencetak semua pasangan nilai kunci dalam kamus:
Gunakan kaedah dict.items()
untuk mendapatkan paparan item kamus.
Gunakan for
untuk mengulang pandangan.
Cetak setiap pasangan nilai kunci menggunakan fungsi print()
. Kaedah
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
mengembalikan paparan baharu item kamus ((kunci, nilai) pasangan).
# ????️ [('name', 'jiyik'), ('age', 30), ('language', 'Python')] print(list(my_dict.items()))
Jika kita perlu memformat kekunci dan nilai dalam apa jua cara, gunakan literal rentetan yang diformatkan.
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}')
Rentetan Terformat Tersurat
f-strings
Mari masukkan ungkapan dalam rentetan dengan memberi awalan dengan f.
var1 = 'fql' var2 = 'jiyik' result = f'{var1}{var2}' print(result) # ????️ fqljiyik
Pastikan untuk menyertakan ungkapan dalam pendakap - {expression}
.
Kami boleh menggunakan kaedah dict.keys()
dan dict.values()
untuk mencetak kunci dan nilai kamus. Kaedah
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
mengembalikan paparan baharu kekunci kamus. Kaedah
dict.values
mengembalikan pandangan baharu nilai kamus.
Jika kita perlu menggabungkan pasangan nilai kunci kamus ke dalam rentetan, sila gunakan kaedah
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)
Kami menghantar ungkapan penjana kepada kaedah str.join()
.
Ekspresi penjana digunakan untuk melaksanakan beberapa operasi pada setiap elemen atau memilih subset elemen yang memenuhi syarat.
Dalam setiap lelaran, kami memformat pasangan nilai kunci menggunakan literal rentetan yang diformatkan. Kaedah
str.join
mengambil iterable sebagai hujah dan mengembalikan rentetan yang merupakan gabungan rentetan dalam iterable.
Rentetan di mana kaedah ini dipanggil digunakan sebagai pemisah antara unsur.
Kami menggunakan koma dan ruang sebagai pemisah antara pasangan nilai kunci, tetapi anda boleh menggunakan mana-mana pemisah lain.
Berikut ialah contoh menggunakan aksara baris baharu
(n)
sebagai pembatas.
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)
Apabila digabungkan dengan baris baharu n
pembatas aksara, pasangan nilai kunci kamus dicetak pada baris yang berasingan.
Kami juga boleh menggunakan operator pembongkaran *
boleh diulang dengan argumen sep untuk mencetak semua pasangan nilai kunci dalam kamus.
my_dict = { 'name': 'jiyik', 'age': 30, 'language': 'Python' } # ('name', 'jiyik') # ('age', 30) # ('language', 'Python') print(*my_dict.items(), sep='\n')
*
Operator pembongkaran boleh lelar membolehkan kami membuka balut objek boleh lelar dalam panggilan fungsi, pemahaman dan ungkapan penjana. Parameter
sep ialah pemisah antara parameter yang kita hantar ke print()
.
print('fql', 'jiyik', sep='') # ????️ fqljiyik print('fql', 'jiyik') # ????️ fql jiyik
Secara lalai, parameter sep ditetapkan kepada ruang.
Kita boleh menggunakan kaedah json.dumps()
untuk mencetak cantik pasangan nilai kunci dalam kamus. Kaedah
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
menukar objek Python kepada rentetan berformat JSON.
Jika
indent
ditetapkan kepada integer bukan negatif, elemen tatasusunan JSON atau ahli objek akan dicetak cantik menggunakan tahap lekukan yang ditentukan.
Kami menggunakan tahap lekukan sebanyak 4 ruang, tetapi anda boleh menggunakan mana-mana integer positif yang lain.
Kami boleh menetapkan parameter sort_keys
kepada True untuk mengisih kekunci kamus apabila bersiri kepada JSON. Parameter
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
boleh digunakan untuk mengisih output mengikut abjad mengikut kekunci.
Kami juga boleh menggunakan kaedah pprint()
untuk mencetak cantik pasangan nilai kunci dalam kamus. Kaedah
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
mencetak perwakilan berformat objek.
Kami menetapkan parameter lebar kepada 1 untuk menetapkan bilangan maksimum aksara yang diperlukan setiap baris kepada 1.
Dengan cara ini, semua pasangan nilai kunci dalam kamus akan dicetak pada baris yang berbeza.
Kami juga menetapkan parameter sort_dicts
kepada False untuk menghalang kaedah daripada mengisih kekunci dalam kamus mengikut abjad.
Apabila sort_dicts
ditetapkan kepada Palsu, item kamus dicetak dalam susunan sisipan.
Atas ialah kandungan terperinci Bagaimana untuk mencetak semua pasangan nilai kunci dalam kamus dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!