私は以下のような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]