从字典返回值的有序子集

2024-05-12 20:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这本字典

people = {'people': [{'name': 'Christina Koch', 'craft': 'ISS'}, {'name': 'Alexander Skvortsov', 'craft': 'ISS'}, {'name': 'Luca Parmitano', 'craft': 'ISS'}, {'name': 'Andrew Morgan', 'craft': 'ISS'}, {'name': 'Oleg Skripochka', 'craft': 'ISS'}, {'name': 'Jessica Meir', 'craft': 'ISS'}], 'number': 6, 'message': 'success'}

我只需要知道名字,比如:

    Alexander Skvortsov
    Alexey Ovchinin
    Andrew Morgan
    Christina Koch
    Luca Parmitano
    Nick Hague

谢谢你的帮助


Tags: name字典peoplelucaalexanderisscraftandrew
2条回答

这应该管用。你知道吗

d = {'people': [{'name': 'Christina Koch', 'craft': 'ISS'}, {'name': 'Alexander Skvortsov', 'craft': 'ISS'}, {'name': 'Luca Parmitano', 'craft': 'ISS'}, {'name': 'Andrew Morgan', 'craft': 'ISS'}, {'name': 'Oleg Skripochka', 'craft': 'ISS'}, {'name': 'Jessica Meir', 'craft': 'ISS'}], 'number': 6, 'message': 'success'}

for name in sorted([person['name'] for person in d['people']]):
  print(name)

可以这样做:

d = {'people': [{'name': 'Christina Koch', 'craft': 'ISS'}, {'name': 'Alexander Skvortsov', 'craft': 'ISS'}, {'name': 'Luca Parmitano', 'craft': 'ISS'}, {'name': 'Andrew Morgan', 'craft': 'ISS'}, {'name': 'Oleg Skripochka', 'craft': 'ISS'}, {'name': 'Jessica Meir', 'craft': 'ISS'}], 'number': 6, 'message': 'success'}

for p in d['people']:
    print(p['name'])

或者,如果您想将结果列在一个列表中,请按字母顺序排序:

name_list = sorted([p['name'] for p in d['people']])

相关问题 更多 >