Python 如何获取for循环的第一个对象

Python 如何获取for循环的第一个对象,python,list,object,for-loop,Python,List,Object,For Loop,我有一个for循环,如下所示: for i,x in enumerate(urunler): if x['fiyat'] == eklenecek['fiyat'] and x['urunobegi'] == eklenecek['urunobegi']: print x['id'] 它输出: 1 2 3 9 如何选择此列表中的第一个对象?最简单的方法是: first_value = None for i,x in enumerate(urunler): if

我有一个for循环,如下所示:

for i,x in enumerate(urunler):
    if x['fiyat'] == eklenecek['fiyat'] and x['urunobegi'] == eklenecek['urunobegi']:
        print x['id']
它输出:

1
2
3
9

如何选择此列表中的第一个对象?

最简单的方法是:

first_value = None
for i,x in enumerate(urunler):
    if x['fiyat'] == eklenecek['fiyat'] and x['urunobegi'] == eklenecek['urunobegi']:
        first_value = x['id']
        break
设置它的目的是,如果列表中没有项目满足条件,
first\u value
将设置为
None

如果要选择最后一个:

last_value = None
for i,x in enumerate(urunler):
    if x['fiyat'] == eklenecek['fiyat'] and x['urunobegi'] == eklenecek['urunobegi']:
        last_value = x['id']
不过,更好的解决方案是将其转换为列表,以便您可以随意选择任何索引。最好将其作为一个列表:

lst = [x['id'] for x in urunler if x['fiyat'] == eklenecek['fiyat']
                       and x['urunobegi'] == eklenecek['urunobegi']]

# First element: lst[0]
# Last element: lst[-1]

这和Django有什么关系?在什么名单上?你不是在生成列表,而是在打印值。我肯定他只是指打印的值。这看起来很像“for-if-antipattern”。如果我想选择最后一个呢?