2013-10-27 68 views
-1

我想使用for循環找到列表中的最小值,但我沒有得到正確的答案。python:如何比較一個列表中的元素

這是我在做什麼:

xs=[5,3,2,5,6,1,0,5] 

for i in xs: 
    if xs[i]< xs[i+1]: 
     print(i) 

編輯:對不起,我應該說,這更早,但我不能使用min函數!

+0

對列表進行迭代返回其項目不是索引。 –

+3

如何使用'min'函數? – BrenBarn

回答

1

如果你想使用for循環,然後用下面的方法

xs=[5,3,2,5,6,1,0,5] 
minimum = xs[0]; 
for i in xs: 
    if i < minimum: 
     minimum = i ; 
print(minimum) 

沒有循環,則可以使用min方法

minimum = min(xs) 
print(minimum) 
+0

我更新了代碼 – Subbu

2

使用min方法:

xs=[5,3,2,5,6,1,0,5] 
print min(xs) 

此輸出:

0 
0

爲什麼要使用一個for循環?

只需使用:

xs=[5,3,2,5,6,1,0,5] 
print min(xs) 
0

我假設你打算找那些在較小的更大的順序連續元素。如果是這樣的話,那麼這應該工作

for i in xrange(len(xs)-1): 
    if xs[i]< xs[i+1]: 
     print(i) 
+0

不,我只想找到列表的最小值 – Eddy221

0
>>> xs=[5,3,2,5,6,1,0,5] 
>>> print min(xs) 
#Prints 0 
0

你可以做到這一點沒有for循環,沒有min()使用內置功能reduce()

minimum = reduce(lambda x, y: x if x < y else y, xs)