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

时间:2012-08-10 09:58:12

标签: 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

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

1 个答案:

答案 0 :(得分:2)

最简单的方法是:

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_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]