Python中的名称映射

Python中的名称映射,python,list,mapping,list-comprehension,names,Python,List,Mapping,List Comprehension,Names,我收到了以下词典列表: names = [ {'first_name': 'Jane', 'last_name': 'Doe'}, {'first_name': 'John', 'last_name': 'Kennedy'}, {'first_name': 'Ada', 'last_name': 'Lovelace'} ] 第一部分是返回一个全名数组,我的操作如下: [user['first_name'] +' '+ user['last_name'] for user

我收到了以下词典列表:

names = [
    {'first_name': 'Jane', 'last_name': 'Doe'},
    {'first_name': 'John', 'last_name': 'Kennedy'},
    {'first_name': 'Ada', 'last_name': 'Lovelace'}
]
第一部分是返回一个全名数组,我的操作如下:

[user['first_name'] +' '+ user['last_name'] for user in names]
它返回了以下信息:

['Jane Doe', 'John Kennedy', 'Ada Lovelace']
names = [
    {'first_name': 'Jane', 'last_name': 'Doe'},
    {'first_name': 'John', 'last_name': 'Kennedy'},
    {'first_name': 'Ada', 'last_name': 'Lovelace'}
]

result = [{'name':d['first_name']+' '+ d['last_name']} for d in names]
print(result)
第二部分是做上面同样的事情,只返回一个字典列表,“name”是键。结果应该是: 蟒蛇


我已经尝试了我能想到的一切。从尝试更改密钥,到更改回列表,再更改回字典。我是Python新手,非常感谢您的帮助。

将您对列表的理解调整为以下内容:

['Jane Doe', 'John Kennedy', 'Ada Lovelace']
names = [
    {'first_name': 'Jane', 'last_name': 'Doe'},
    {'first_name': 'John', 'last_name': 'Kennedy'},
    {'first_name': 'Ada', 'last_name': 'Lovelace'}
]

result = [{'name':d['first_name']+' '+ d['last_name']} for d in names]
print(result)
输出:

[{'name': 'Jane Doe'}, {'name': 'John Kennedy'}, {'name': 'Ada Lovelace'}]
以下使用方法将起作用:

result = [{'name': ' '.join((d['first_name'], d['last_name']))} for d in names]
# [{'name': 'Jane Doe'}, {'name': 'John Kennedy'}, {'name': 'Ada Lovelace'}]

当你有一个字典列表时,每个字典只包含一个元素,考虑这个问题,你是否应该只有一个字典?如果你必须<代码> [{ name ]:'{}{}。格式化(名字[第一个名字] ],名字[ [姓氏] ] } /代码> @克里斯兰德谢谢你的建议。help@MatthiasBurger,再次查看问题:OP确实发布了代码,它是列表理解
[用户['first_name']+''+用户['last_name']对于用户名中的用户]
@RomanPerekhrest谢谢!我一到教室就试试。
list(map(lambda d: {'name': ' '.join((d['first_name'], d['last_name']))},names))