logo

Funkce hlavy a ocasu v Pythonu

V Pythonu je hlava() funkce se obvykle používá k načtení prvního n položky ze seznamu nebo a DataFrame .

funkce head() pro seznamy

V Pythonu můžete použít hlava() funkce se seznamy pro načtení prvních n položek v seznamu. Funkce head() není vestavěná funkce v Pythonu, ale můžete snadno vytvořit svou vlastní funkci, abyste dosáhli stejné funkčnosti. Zde je příklad:

 def head(lst, n): return lst[:n] 

Tato funkce vezme jako vstup seznam lst a celé číslo n a vrátí prvních n položek v seznamu. Zde je příklad použití:

 my_list = [1, 2, 3, 4, 5] print(head(my_list, 3)) # prints [1, 2, 3] 

funkce head() pro DataFrames

V Pythonu můžete také použít hlava() funkce s pandas DataFrames k načtení prvních n řádků DataFrame. Funkce head() je vestavěná funkce v knihovně pandas, takže nemusíte vytvářet vlastní funkci. Zde je příklad:

mvc s javou
 import pandas as pd # create a sample DataFrame df = pd.DataFrame({ 'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'], 'age': [25, 30, 35, 40, 45] }) # use the head() function to retrieve the first 3 rows of the DataFrame print(df.head(3)) 

Výstup:

 name age 0 Alice 25 1 Bob 30 2 Charlie 35 

V tomto příkladu jsme vytvořili a DataFrame se dvěma sloupci ( název a stáří ) a pět řádků. Poté jsme použili hlava() funkce k načtení prvních tří řádků DataFrame.

V Pythonu se funkce tail používá k extrahování zadaného počtu položek z konce sekvence, jako je seznam nebo řetězec. Výsledná sekvence obsahuje pouze položky na konci původní sekvence až do zadaného počtu položek.

římská čísla 1 až 100

Zde je příklad použití funkce tail na seznamu v Pythonu:

 def tail(seq, n): return seq[-n:] my_list = [1, 2, 3, 4, 5] result = tail(my_list, 3) print(result) # [3, 4, 5] 

Výstup:

 [3, 4, 5] 

V tomto příkladu má funkce tail dva argumenty: seq a n . seq je sekvence (v tomto případě seznam), ze kterého chceme extrahovat položky na konci, a n je počet položek chceme extrahovat.

Poté funkce použije syntaxi Pythonu k extrahování posledních n položek sekvence. The -n: zápis prostředek 'vzít posledních n položek' , tak seq[-n:] vrátí nový seznam obsahující pouze poslední tři položky my_list.

singleton design

Všimněte si, že původní seznam můj seznam není upravena ocas funkce. Místo toho funkce vrátí nový seznam, který obsahuje pouze zadaný počet položek z konce původního seznamu.

Tuto funkci ocasu lze použít několika způsoby:

Například když potřebujeme extrahovat N znaky z konce řetězce, které lze implementovat následovně:

 def tail(string, n): return string[-n:] my_string = 'Hello, world!' result = tail(my_string, 6) print(result) 

Výstup:

 world! 

V tomto příkladu ocas(můj_řetězec, 6) vrátí posledních šest znaků řetězce, které jsou 'svět!'.

stav git

Příklad 2: Extrahování posledních N řádků ze souboru

Předpokládejme, že máte textový soubor a chcete z něj extrahovat posledních n řádků. K přečtení souboru a extrahování posledních n řádků můžete použít funkci tail spolu s vestavěnou funkcí otevření Pythonu:

 def tail(file_path, n): with open(file_path, 'r') as f: lines = f.readlines() return lines[-n:] file_path = 'my_file.txt' result = tail(file_path, 5) print(result) 

Výstup:

 ['Line 6
', 'Line 7
', 'Line 8
', 'Line 9
', 'Line 10
'] 

V tomto příkladu tail(cesta_souboru, 5) přečte soubor na zadané cestě a vrátí posledních pět řádků souboru.

Příklad 3: Použití Tail s dalšími funkcemi

Funkci tail lze kombinovat s dalšími funkcemi Pythonu pro provádění složitějších operací. Předpokládejme například, že máte seznam čísel a chcete vypočítat klouzavý průměr posledních n čísel. K výpočtu součtu posledních n čísel můžete použít funkci tail spolu s vestavěnou sumační funkcí Pythonu:

 def tail(lst, n): return lst[-n:] def moving_average(lst, n): last_n = tail(lst, n) return sum(last_n) / n my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = moving_average(my_list, 3) print(result) 

Výstup:

 8.0 

V tomto příkladu pohyblivý_průměr(můj_seznam, 3) používá funkci ocasu k extrakci posledních tří čísel ze seznamu a poté vypočítá jejich průměr pomocí funkce součtu.