Python 中的映射名称
Mapping names in Python
我得到了以下词典列表:
names = [
{'first_name': 'Jane', 'last_name': 'Doe'},
{'first_name': 'John', 'last_name': 'Kennedy'},
{'first_name': 'Ada', 'last_name': 'Lovelace'}
]
a 部分是 return 全名数组,我按如下方式进行:
[user['first_name'] +' '+ user['last_name'] for user in names]
它return编辑了以下内容:
['Jane Doe', 'John Kennedy', 'Ada Lovelace']
b 部分是现在做上面同样的事情,只是 return 一个字典列表,'name' 是键。结果应该是:
python
[{'name':'Jane Doe'},{'name':'John Kennedy'},{'name': 'Ada Lovelace'}]
能想到的我都试过了。从尝试更改密钥,到改回列表,然后再改回字典。我是 Python 的新手,如有任何帮助,我将不胜感激。
将您的列表理解调整为以下内容:
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'}]
以下 comprehension using join
将起作用:
result = [{'name': ' '.join((d['first_name'], d['last_name']))} for d in names]
# [{'name': 'Jane Doe'}, {'name': 'John Kennedy'}, {'name': 'Ada Lovelace'}]
[{'name': '{first_name} {last_name}'.format(**n)} for n in names]
list(map(lambda d: {'name': ' '.join((d['first_name'], d['last_name']))},names))
我得到了以下词典列表:
names = [
{'first_name': 'Jane', 'last_name': 'Doe'},
{'first_name': 'John', 'last_name': 'Kennedy'},
{'first_name': 'Ada', 'last_name': 'Lovelace'}
]
a 部分是 return 全名数组,我按如下方式进行:
[user['first_name'] +' '+ user['last_name'] for user in names]
它return编辑了以下内容:
['Jane Doe', 'John Kennedy', 'Ada Lovelace']
b 部分是现在做上面同样的事情,只是 return 一个字典列表,'name' 是键。结果应该是: python
[{'name':'Jane Doe'},{'name':'John Kennedy'},{'name': 'Ada Lovelace'}]
能想到的我都试过了。从尝试更改密钥,到改回列表,然后再改回字典。我是 Python 的新手,如有任何帮助,我将不胜感激。
将您的列表理解调整为以下内容:
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'}]
以下 comprehension using join
将起作用:
result = [{'name': ' '.join((d['first_name'], d['last_name']))} for d in names]
# [{'name': 'Jane Doe'}, {'name': 'John Kennedy'}, {'name': 'Ada Lovelace'}]
[{'name': '{first_name} {last_name}'.format(**n)} for n in names]
list(map(lambda d: {'name': ' '.join((d['first_name'], d['last_name']))},names))