数字のリストから最大の数字を見つける


91

Pythonリストの最大数を決定する簡単な方法または機能はありますか?数値は3つしかないので、コードを作成するだけでかまいませんが、組み込み関数などで最大のものを教えてくれれば、コードの冗長性が大幅に低下します。

回答:



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
だから私はインタビューの準備をしている人たちのためにこれを書きました。質問はmax関数を使用せずにリストの最大値を見つけることです。面接が良かったら、
投票して

2
あなたはおそらく最大のインデックスも必要ですか?次に、idx変数をfor行に含めます。
キットプラン

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

2番目の最大の場合:

print(sort[1])

等々...


1
リストのソートは、単に最大値O(n)を取得するよりも複雑な操作O(n log n)です
Allan

-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( 'Please type type a number'))for _ in xrange(10))を実行しない理由はありません。2)sorted_listというリストがありますが、実際にはソートしていません3)奇数のみを除外することについて質問する質問は何もありません4)これは、5年前の以前の回答が(尋ねられなかった、そしてあまりエレガントではない質問)
Foon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.