在数字列表中找到最大的数字


91

有什么简单的方法或功能可以确定python列表中的最大数量?我可以编写代码,因为我只有三个数字,但是如果我可以使用内置函数或类似功能告诉最大的代码,那么它将使代码的冗余度降低很多。

Answers:



18

您可以将内置函数max()与多个参数一起使用:

print max(1, 2, 3)

或清单:

list = [1, 2, 3]
print max(list)

或实际上任何可迭代的东西。


3
给变量命名默认的内置python关键字不好,它会覆盖实际的关键字,(您必须知道):-)
U10-Forward

15

这种方法没有使用max()功能

a = [1,2,3,4,6,7,99,88,999]
max_num = 0
for i in a:
    if i > max_num:
        max_num = i
print(max_num)

另外,如果您要查找结果最大值的索引,

print(a.index(max_num))

使用函数max()的直接方法

max()函数返回具有最大值的项目,或以可迭代方式返回具有最大值的项目

示例:当您必须查找整数/数字的最大值时

a = (1, 5, 3, 9)
print(max(a))
>> 9

示例:当您有字符串时

x = max("Mike", "John", "Vicky")
print(x)
>> Vicky

它基本上返回名称最高的名称,按字母顺序排列。


2
为什么您永远无法使用max函数?
克里斯·福斯特

3
所以我为那些准备面试的人写了这
封信

2
如果您还需要max的索引?然后,您只需在for行中包含idx var。
Kit Plummer

1
不要将其max用作变量的名称,因为它是内置变量的名称。
wjandrea


2

max 是python中的内置函数,用于从序列(即(列表,元组,集合等)中获取最大值。

print(max([9, 7, 12, 5]))

# prints 12 

2

您实际上可以对其进行排序:

sorted(l,reverse=True)

l = [1, 2, 3]
sort=sorted(l,reverse=True)
print(sort)

你得到:

[3,2,1]

但是,如果仍想获得最大数量,请执行以下操作:

print(sort[0])

你得到:

3

如果第二个最大值:

print(sort[1])

等等...


1
排序列表是比仅获得最大值O(n)更复杂的操作O(n log n)
艾伦

-6
    #Ask for number input
first = int(raw_input('Please type a number: '))
second = int(raw_input('Please type a number: '))
third = int(raw_input('Please type a number: '))
fourth = int(raw_input('Please type a number: '))
fifth = int(raw_input('Please type a number: '))
sixth = int(raw_input('Please type a number: '))
seventh = int(raw_input('Please type a number: '))
eighth = int(raw_input('Please type a number: '))
ninth = int(raw_input('Please type a number: '))
tenth = int(raw_input('Please type a number: '))

    #create a list for variables
sorted_list = [first, second, third, fourth, fifth, sixth, seventh, 
              eighth, ninth, tenth]
odd_numbers = []

    #filter list and add odd numbers to new list
for value in sorted_list:
    if value%2 != 0:
        odd_numbers.append(value)
print 'The greatest odd number you typed was:', max(odd_numbers)

2
1)与键入多余的东西相比,没有理由不对my_list = sorted([int(raw_input('请键入数字'))_在xrange(10)中)。2)您有一个名为sorted_list的列表,但实际上并未对其进行排序3)问题中没有任何内容要求仅过滤奇数4)这提供了5年前的答案没有的功能(除了回答没有被问到的问题,并且以一种不太优雅的方式)
Foon 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.