首页 > 解决方案 > Python 字典输出问题

问题描述

我是 python 和这个论坛的新手。在线学习对我不起作用,所以我不能只找家教。这可能是我忘记的小事。我欢迎你能给我的任何帮助。

我试图使输出看起来像这样:她的名字是 Emmylou;她有望在 2021 年秋季毕业;她的账单已经付清了;她的专业是考古学;她属于这些学校俱乐部——摄影、表演和欢乐合唱团

Emm = {'name' : 'Emmylou', 'graduate' : 'Fall 2021', 'bill' : 'paid', 'major' : 'Archeology', 'clubs-' : 'Photography, Acting and Glee'}

for Key, Value in Emm.items():

print(f"Her {Key} is {Value} and she is on track to {Key} in {Value}; Her {Key} is {Value}; Her {Key} is {Value}; She belongs to these school {Key} {Value}")

输出是一团糟,当我运行它时看起来像这样:

Her name is Emmylou and she is on track to name in Emmylou; Her name is Emmylou; Her name is Emmylou; She belongs to these school name Emmylou
Her graduate is Fall 2021 and she is on track to graduate in Fall 2021; Her graduate is Fall 2021; Her graduate is Fall 2021; She belongs to these school graduate Fall 2021
Her bill is paid and she is on track to bill in paid; Her bill is paid; Her bill is paid; She belongs to these school bill paid
Her major is Archeology and she is on track to major in Archeology; Her major is Archeology; Her major is Archeology; She belongs to these school major Archeology
Her clubs- is Photography, Acting and Glee and she is on track to clubs- in Photography, Acting and Glee; Her clubs- is Photography, Acting and Glee; Her clubs- is Photography, Acting and Glee; She belongs to these school clubs- Photography, Acting and Glee

标签: pythondictionarymergeddictionaries

解决方案


在您的代码中,您将遍历数据中的每个键值对;所以你最终打印了 5 次,每次使用一个键值对,而不是打印 1 次,所有键值对。

尝试这个。

Emm = [
    ('name', 'Emmylou'),
    ('graduate', 'Fall 2021'),
    ('bill', 'paid'),
    ('major', 'Archeology'),
    ('clubs-', 'Photography, Acting and Glee'),
]

flat_items = [item for pair in Emm for item in pair]
print("Her {} is {} and she is on track to {} in {}; Her {} is {}; Her {} is {}; She belongs to these school {} {}".format(*flat_items))

推荐阅读