我有一个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_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]

10-08 18:38