Python 如何获取for循环的第一个对象
我有一个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 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”。如果我想选择最后一个呢?