首页 > 解决方案 > 如何从字典列表中返回字符串

问题描述

我为以下内容编写了一个程序:

给定一个用户列表,编写一个函数 names_and_roles,它以字符串形式返回所有用户的名称和角色,每个值都被标记。

我不符合该计划的问题要求。我猜这是因为我返回了一个字典列表。我怎样才能返回一个字符串,使我的输出看起来一样?

users = [
{
     'name': 'Homer', 
     'role': 'Clerk', 
     'dob': '12/02/1988',
     'admin': False 
}, 
{
     'name': 'Lisa', 
     'role': 'Staff', 
     'dob': '01/30/1965',
     'admin': False 
}, 
{
     'name': 'Marge', 
     'role': 'Associate', 
     'dob': '09/10/1980',
     'admin': True 
}
]

def names_and_roles(some_users):
      employees = {some_user['name']:some_user['role'] for some_user in users}
return employees

employee_list = (names_and_roles(users))

for user, role in employee_list.items():
  print("Name:", user)
  print("Role:", role)
  print("\n")

标签: python-3.x

解决方案


有很多方法可以做到这一点。在发布您的问题之前,您可能应该尝试一些事情,但这里是例如:

["Name: {}, Role: {}".format(u['name'], u['role']) for u in users]

或者如果它需要是一个大字符串:

sep = "\n"
sep.join("Name: {}, Role: {}".format(u['name'], u['role']) for u in users)

推荐阅读