没有max()方法的列表的最大值

时间:2014-06-16 00:23:12

标签: python list max

我需要找到列表的最大值,但我不能使用max()方法。我该怎么做呢?我只是一个初学者,所以我确信这很容易找到一个解决方法,但是我很难过。

编辑:忘了提及我正在工作的蟒蛇。

9 个答案:

答案 0 :(得分:2)

考虑如何手动执行此操作。

如果您有这样的列表:

[10, 6, 8, 2, 4, 12, 3]

要手动查找最大值,您将从第一个数字10开始,这将是最大值。然后你移动到下一个数字,6:

 M
[10, 6, 8, 2, 4, 12, 3]
     ^

大于10吗?不,然后转到下一个号码:

 M
[10, 6, 8, 2, 4, 12, 3]
        ^

 M
[10, 6, 8, 2, 4, 12, 3]
           ^
 M
[10, 6, 8, 2, 4, 12, 3]
              ^
 M
[10, 6, 8, 2, 4, 12, 3]
                 ^

现在我们得到一个大于10的最大值的数字。那么我们移动最大点:

                 M
[10, 6, 8, 2, 4, 12, 3]
                 ^

然后继续:

                 M
[10, 6, 8, 2, 4, 12, 3]
                     ^

列表现已完成,M点为12。

现在你只需要对其进行编码!

答案 1 :(得分:1)

听起来像是家庭作业,但也许一些逻辑可以帮助你:

当你迭代列表时,关键是你要知道当前元素是否是所有其他元素的MAX。这可以通过将MAX保持在当前元素(比如M *)并在M *和当前元素之间进行简单比较来解决。然后根据该比较的结果更新M *。在迭代结束时,我认为你可以找出MAX的位置。

答案 2 :(得分:1)

max = list[0]
for x in list:
    if x > max:
        max = x
print max

在此示例中,我们将max值初始化为第一个元素。然后我们遍历列表,如果我们找到比当前最大值更大的值,我们将该值赋给max。最后,我们应该有最大的值,我们打印出来。

答案 3 :(得分:0)

def max(a):

    res = a[0]
    for i in a:
        if res < i:
            res = i
    return res

array = (1, 2, 3, 4, 5, 6)

print(max(array))

答案 4 :(得分:0)

您可以尝试这个.....

my_list = [0, 2, 5, 6, 5, 8, 5, 8, 8]
my_max = [ ]
for list in my_list:
       if list > 7:
       my_max = my_max + [list]
Print(my_max)

这应该输出[8,8,8]

答案 5 :(得分:0)

input_string =input("Enter a list numbers or elements separated by space: ")
userList = input_string.split()

l=list((map(int, userList)))
print(l)

a = (len(l))
temp=0

for i in range(0,a-1):
  if l[i]>l[i+1]:
    c=l[i]
    if c>temp:
       temp=c

  else:
    c= l[i+1]  
    if c>temp:
       temp=c


print(temp) 

答案 6 :(得分:0)

s=[10,11,12,9,10,11]
length = len(s)-1
for i in range(length):
    if s[i] > s[i + 1]:
        s[i], s[i + 1] = s[i + 1], s[i]
print(s[-1]) #12

答案 7 :(得分:-1)

python中的简单单行:

max = sorted(my_list)[-1]

这使列表按从小到大的顺序排列,然后取最大值。

答案 8 :(得分:-2)

arr=[10,11,12,9,10,11]

#Find the length of you list
len=len(arr) 

#Use 1st for loop to iterate over index from 0 to total length
for i in range(len):
   # Use 2nd for loop to iterate from from index 1 to total length
   for j in range(i+1,len):
    #Compare 1st index to next index
    if arr[i]>arr[j]:
        #replace the positions to sort our max number at last
        arr[i],arr[j]=arr[j],arr[i]
 # Now, your sorted list having last element as a max for access it with index -1 (last index) of list, You will get max number from your list without using max() function
 print("Your max number is:",arr[-1])