1

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

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

它输出:

1
2
3
9

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

4

1 回答 1

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]
于 2012-08-10T10:02:39.417 回答