python 从字典列表中获取列数据

j13ufse2  于 2023-01-24  发布在  Python
关注(0)|答案(1)|浏览(139)

我有以下数据:

locations = [
    {"id": 1,"Name": "Ottawa"},
    {"id": 2,"Name": "Ahmedabad"},
    {"id": 3,"Name": "London"}
]

我试图得到一个显示名称列表的输出,因此:

[Ottawa, Ahmedabad, London]

或者类似的东西。我该怎么做呢,或者这有可能吗?
我创建了一个函数,它可以给出个人姓名

def find_names(Name):
    try:
        return ( location['Name'] for location in locations if location['Name'] == Name)
    except:
        raise BadRequest(f"Can't find the location by name {Name}")

当查看该特定路由时,其给出"Ottawa"的输出。

wlzqhblo

wlzqhblo1#

你的函数过滤了一些名字,去掉它就可以工作了

# use a list comprehension
[d['Name'] for d in locations]
# ['Ottawa', 'Ahmedabad', 'London']

另一种方法是调用operator.itemgetter

from operator import itemgetter
print(*map(itemgetter('Name'), locations))
# Ottawa Ahmedabad London

相关问题