我有一本字典和一個 for 回圈來列印:
car_dict = {'Sports':{'Audi':'A4',
'Ferarri':'Spider'}}
for key, value in car_dict.items():
if key == 'Sports':
print(key, value)
因此,如果 input == "Sports",它將列印:
Sports {'Audi': 'A4', 'Ferarri': 'Spider'}
我如何列印它,它看起來像:
-Sports-
Audi A4
Ferrari Spider
有一個小標題(不是必需的),一個在另一個之上并且沒有 dict 語法?我已經搞砸了一段時間,似乎無法找到解決方案。這是我最遠的!謝謝
uj5u.com熱心網友回復:
如果鍵是“Sports”,您可以迭代該值:
for key, value in car_dict.items():
if key == 'Sports':
print('-', key)
for pair in value.items():
print(*pair)
輸出:
- Sports
Audi A4
Ferarri Spider
uj5u.com熱心網友回復:
我會將列印輸出到另一種方法,因為您可能會有多種類別的汽車。
此外,您可以使用f 字串輕松格式化輸出。
您可能還想考慮將多行字串與 f-strings 結合使用"""以獲得良好的多行輸出。請參見下面的示例。
car_dict = {
'Sports': {'Audi': 'A4', 'Ferarri': 'Spider'}
}
def print_category(cat_name, cars):
print(f"- {cat_name} -")
for (brand, model) in cars.items():
print(brand, model)
def print_category_multiline(cat_name, cars):
print(f"""
---------------------------
{cat_name}
--------------------------- """)
for (brand, model) in cars.items():
print(brand, model)
for key, value in car_dict.items():
print_category(key, value)
print_category_multiline(key, value)
預期產出
- Sports -
Audi A4
Ferarri Spider
---------------------------
Sports
---------------------------
Audi A4
Ferarri Spider
if您在回圈中的條件for目前并沒有真正做任何事情,因為您只有運動類汽車,因此您不需要它。如果您想對類別進行一些過濾(當您有更多類別時),我當然會創建一組類別并在 for 回圈中檢查當前類別是否在過濾器內。這可能看起來像這樣:
cat_filter = {"Sports", "Offroad"}
for key, value in car_dict.items():
# only print filtered values
if key in cat_filter:
print_category(key, value)
print_category_multiline(key, value)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/456021.html
上一篇:你如何遍歷一個元組(str),然后回傳一個包含鍵(來自元組)和鍵的索引作為值的字典?
下一篇:如何更新JSON檔案中的字典鍵?
