0

我正在尝试使用 for 循环在列表中找到最小值,但我没有得到正确的答案。

这就是我正在做的事情:

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

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

编辑:对不起,我应该早点说,但我不允许使用 min 功能!

4

7 回答 7

3

使用min方法:

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

这输出:

0
于 2013-10-27T19:29:42.530 回答
3

如果要使用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)
于 2013-10-27T19:31:52.377 回答
0

您可以在不使用 for 循环且不min()使用内置函数的情况下执行此操作reduce()

minimum = reduce(lambda x, y: x if x < y else y, xs)
于 2013-10-27T20:38:23.800 回答
0

为什么要使用 for 循环?

只需使用:

xs=[5,3,2,5,6,1,0,5]
print min(xs)
于 2013-10-27T19:30:28.057 回答
0

我假设您打算找到从小到大顺序的连续元素。如果是这种情况,那么这应该有效

for i in xrange(len(xs)-1):
    if xs[i]< xs[i+1]:
        print(i)
于 2013-10-27T19:30:38.753 回答
0
>>> xs=[5,3,2,5,6,1,0,5]
>>> print min(xs)
#Prints 0
于 2013-10-27T19:30:48.777 回答
-1

你可以试试这个

    xs=[5,3,2,5,6,1,0,5]
    minvalue=xs[0]      #Assuming first value in xs as minimum value
    for i in range(0,len(xs)):
        if xs[i]< minvalue:     #If xs[i] is less than minimum value then
            minvalue=xs[i]      #minmumvalue=xs[i]
    print(minvalue)             #print minvalue outside for loop

输出:0

于 2021-02-28T16:19:56.960 回答