我正在尝试使用 for 循环在列表中找到最小值,但我没有得到正确的答案。
这就是我正在做的事情:
xs=[5,3,2,5,6,1,0,5]
for i in xs:
if xs[i]< xs[i+1]:
print(i)
编辑:对不起,我应该早点说,但我不允许使用 min 功能!
我正在尝试使用 for 循环在列表中找到最小值,但我没有得到正确的答案。
这就是我正在做的事情:
xs=[5,3,2,5,6,1,0,5]
for i in xs:
if xs[i]< xs[i+1]:
print(i)
编辑:对不起,我应该早点说,但我不允许使用 min 功能!
使用min
方法:
xs=[5,3,2,5,6,1,0,5]
print min(xs)
这输出:
0
如果要使用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)
您可以在不使用 for 循环且不min()
使用内置函数的情况下执行此操作reduce()
:
minimum = reduce(lambda x, y: x if x < y else y, xs)
为什么要使用 for 循环?
只需使用:
xs=[5,3,2,5,6,1,0,5]
print min(xs)
我假设您打算找到从小到大顺序的连续元素。如果是这种情况,那么这应该有效
for i in xrange(len(xs)-1):
if xs[i]< xs[i+1]:
print(i)
>>> xs=[5,3,2,5,6,1,0,5]
>>> print min(xs)
#Prints 0
你可以试试这个
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