筛选词典列表

2024-05-20 21:00:00 发布

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

这是我的例子:

dictlist = [{'first': 'James', 'last': 'Joule'}, 
            {'first': 'James','last': 'Watt'},
            {'first': 'Christian','last': 'Doppler'}]

我想知道姓氏。如果这是在模型中,则代码为:

getdata = Name.objects.filter(name="Christian")
getLastName = getdata.last

我会得到"Doppler"


Tags: 代码name模型objects例子firstlast姓氏
3条回答
dictlist = [{'first': 'James', 'last': 'Joule'}, {'first': 'James','last': 'Watt'},{'first': 'Christian','last': 'Doppler'}]
the_jameses = [d for d in dictlist if d['first'] == 'James']

其中结果list仅包含:

[{'first': 'James', 'last': 'Joule'}, {'first': 'James', 'last': 'Watt'}]

像这样的事情应该行得通

last_name = ''

for d in dictList:
  if d['first'] == 'Christian':
    last_name = d['last']
    break

这是一个非常简单的列表理解解决方案:

>>> dictlist = [{'first': 'James', 'last': 'Joule'}, {'first': 'James','last': 'Watt'},{'first': 'Christian','last': 'Doppler'}]
>>> [x['last'] for x in dictlist if x['first'] == 'Christian']
['Doppler']

相关问题 更多 >