Funkce max() v Pythonu r vrátí největší položku v iterovatelné nebo největší ze dvou nebo více argumentů.
Má dvě podoby.
- funkce max() s objekty
- funkce max() s iterovatelnou funkcí
Funkce Python max() s objekty
Na rozdíl od funkce max() v C/C++ je funkce max() v Krajta může vzít jakýkoli typ objektu a vrátit ten největší z nich. V případě řetězců vrací lexikograficky největší hodnotu.
Syntaxe: max(arg1, argument2, *args[, klíč])
Parametry:
- arg1, arg2: objekty stejného datového typu
- *argumenty: více objektů
- klíč: funkce, kde se provádí porovnání iterovatelného na základě jeho návratové hodnoty
Vrátí: Maximální hodnota
Příklad funkce max() v Pythonu
K vyhledání největší položky v Pythonu můžeme použít funkci max(). Níže uvádíme několik příkladů:
Příklad 1: Nalezení maxima 3 celočíselných proměnných
Kód inicializuje tři proměnné s hodnotami (var1 = 4, var2 = 8, var3 = 2) a poté mezi nimi najde maximální hodnotu pomocímax()>funkce. Výsledek, tedy 8, se vytiskne na obrazovku.
Python3
var1>=> 4> var2>=> 8> var3>=> 2> max_val>=> max>(var1, var2, var3)> print>(max_val)> |
>
>Výstup
8>
Příklad 2: Nalezení maxima 3 řetězcových proměnných
Ve výchozím nastavení vrátí řetězec s maximální lexikografickou hodnotou. V tomto příkladu, protože max() se používá k nalezení největší položky v Pythonu, používáme max() k nalezení maxima ze 3 řetězcových proměnných.
Python3
var1>=> 'geeks'> var2>=> 'for'> var3>=> 'geek'> max_val>=> max>(var1, var2, var3)> print>(max_val)> |
>
>Výstup
geeks>
Příklad 3: Nalezení maxima 3 řetězcových proměnných podle délky
Budeme předat klíčovou funkci v metodě max().
Python3
var1>=> 'geeks'> var2>=> 'for'> var3>=> 'geek'> max_val>=> max>(var1, var2, var3,> >key>=>len>)> print>(max_val)> |
>
>Výstup
geeks>
Příklad 4: Python max() Výjimka
Pokud předáme parametry různých datových typů, bude vyvolána výjimka.
Python3
vlk versus liška
integer>=> 5> string>=> 'geek'> max_val>=> max>(integer, string)> print>(max_val)> |
>
>
Výstup
TypeError: '>' není podporováno mezi instancemi 'str' a 'int'>
Příklad 5: Python max() Float
V tomto příkladumax()>Funkce se používá k nalezení a uložení maximální hodnoty v tomto seznamu, což je 1,3.
Python3
list> => [>1.2>,>1.3>,>0.1>]> max_value>=> max>(>list>)> print>(max_value)> |
>
>Výstup
1.3>
Příklad 6: Python max() Index
V tomto příkladu používáme max() k nalezení a vytištění pozice maximální hodnoty v daném seznamu.
Python3
# function to find minimum and maximum position in list> def> maximum(a, n):> ># inbuilt function to find the position of maximum> >maxpos>=> a.index(>max>(a))> ># printing the position> >print> (>'The maximum is at position'>, maxpos>+> 1>)> # driver code> a>=> [>3>,>4>,>1>,>3>,>4>,>5>]> maximum(a,>len>(a))> |
>
>Výstup
The maximum is at position 6>
Funkce max() s iterovatelnou v Pythonu
Když je iterovatelná funkce předána funkci max(), vrací největší položku iterovatelné funkce.
Syntaxe: max(iterovatelné, *iterovatelné[, klíč, výchozí])
Parametry:
- iterovatelné: iterovatelný objekt, jako je seznam nebo řetězec.
- * iterovatelné: více iterovatelných
- klíč: funkce, kde se provádí porovnání iterovatelného na základě jeho návratové hodnoty
- výchozí: hodnota, pokud je iterovatelná položka prázdná
Vrátí: Maximální hodnota.
Příklad 1: Nalezení lexikograficky maximálního znaku v řetězci
Tento kód definuje řetězec techcodeview.com a poté používámax()>funkci najít a vytisknout znak s nejvyšší hodnotou Unicode v řetězci, což je „s“.
Python3
string>=> 'techcodeview.com'> max_val>=> max>(string)> print>(max_val)> |
>
>Výstup
s>
Příklad 2: Nalezení lexikograficky maximálního řetězce v seznamu řetězců
Tento kód vytvoří seznam řetězců, string_list, obsahujících [Geeks, for, Geeks]. Poté používámax()>funkce najít a vytisknout maximální řetězec na základě lexikografického pořadí
Python3
string_list>=> [>'Geeks'>,>'for'>,>'Geeks'>]> max_val>=> max>(string_list)> print>(max_val)> |
>
>Výstup
for>
Příklad 3: Nalezení nejdelšího řetězce v seznamu řetězců
V tomto kódu je seznam řetězců, string_list, obsahujících [Geeks, for, Geek]. Využívámax()>funkce skey=len>argument, který srovnává struny na základě jejich délek.
Python3
string_list>=> [>'Geeks'>,>'for'>,>'Geek'>]> max_val>=> max>(string_list, key>=>len>)> print>(max_val)> |
>
>Výstup
Geeks>
Příklad 4: Pokud je Iterable prázdné, zobrazí se výchozí hodnota
Tento kód inicializuje prázdný slovník, slovník a poté použijemax()>funkce sdefault>argument nastaven na výchozí hodnotu, což je slovník {1: 'Geek'}>.
Python3
dictionary>=> {}> max_val>=> max>(dictionary,> >default>=>{>1>:>'Geek'>})> print>(max_val)> |
>
>Výstup
{1: 'Geek'}>