Python 如何从嵌套字典打印多个值?

Python 如何从嵌套字典打印多个值?,python,dictionary,nested,Python,Dictionary,Nested,我的一个家庭作业问题是使用嵌套字典在一行上打印。我如何才能做到这一点?您可以使用print的多个参数以空格分隔它们,可以使用sep参数进行更改: for employee in employees: if employee["title"] == "Mr": print(employee["employee_id"]) print(employee["lastname"], employee["firstname"]) print(employees[0

我的一个家庭作业问题是使用嵌套字典在一行上打印。我如何才能做到这一点?

您可以使用print的多个参数以空格分隔它们,可以使用sep参数进行更改:

for employee in employees:
    if employee["title"] == "Mr":
        print(employee["employee_id"])
        print(employee["lastname"], employee["firstname"])
print(employees[0]["employee_id"], employees[1]["employee_id"])
但是,如果您想打印出所有男性员工的ID,您有几个不同的选项:

for循环:

参数解包:

male_employees = [employee["employee_id"] for employee in employees if employee["title"] == "Mr"]
print(*male_employees)
str.join

特别是对于家庭作业问题,使用for循环的第一个选项是最直观的

编辑:

要打印名称,可以使用格式字符串:

for employee in employees:
    if employee["title"] == "Mr":
        print("{0}, {1}".format(employee["lastname"], employee["firstname"]), end=" ")
如果您想玩得更开心,这是一个选项:

for employee in employees:
    if employee["title"] == "Mr":
        print("{lastname}, {firstname}".format(**employee), end=" ")

我尝试了printemployees[0][employeen\u id]和printemployees[0,1][employeen\u id],您将需要使用for-loop通过所有员工进行循环。现在,您将我弄糊涂了。您是否在询问如何在一行打印员工id,在另一行打印他们的姓名,格式为lastname,firstname。不要在一行上打印所有员工id。对不起,我已经在代码中添加了其他两名员工,但问题只针对前两名男性员工。非常感谢!!对于循环,我可以在同一行上同时显示lastname和firstname吗?@Tess你说的话听起来确实有可能,但是你能用所需的输出编辑你的问题以使输出更清晰吗?哦,是的,对不起,现在可以了!!抱歉,我对编码和python非常陌生
for employee in employees:
    if employee["title"] == "Mr":
        print("{0}, {1}".format(employee["lastname"], employee["firstname"]), end=" ")
for employee in employees:
    if employee["title"] == "Mr":
        print("{lastname}, {firstname}".format(**employee), end=" ")