logo

Funkcia hlavy a chvosta v Pythone

V Pythone, hlava () funkcia sa zvyčajne používa na získanie prvého n položky zo zoznamu alebo a DataFrame .

funkcia head() pre zoznamy

V Pythone môžete použiť hlava () funkcia so zoznamami na získanie prvých n položiek v zozname. Funkcia head() nie je vstavaná funkcia v Pythone, ale na dosiahnutie rovnakej funkčnosti si môžete jednoducho vytvoriť vlastnú funkciu. Tu je príklad:

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

Táto funkcia berie ako vstup zoznam lst a celé číslo n a vracia prvých n položiek v zozname. Tu je príklad použitia:

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

funkcia head() pre DataFrames

V Pythone môžete použiť aj hlava () funkcia s pandas DataFrames na získanie prvých n riadkov DataFrame. Funkcia head() je vstavaná funkcia v knižnici pandas, takže si nemusíte vytvárať vlastnú funkciu. Tu je príklad:

junit testovacie prípady
 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ýkon:

 name age 0 Alice 25 1 Bob 30 2 Charlie 35 

V tomto príklade sme vytvorili a DataFrame s dvoma stĺpcami ( názov a Vek ) a päť riadkov. Potom sme použili hlava () na získanie prvých troch riadkov DataFrame.

V Pythone sa funkcia chvosta používa na extrahovanie určitého počtu položiek z konca sekvencie, ako je zoznam alebo reťazec. Výsledná sekvencia obsahuje iba položky na konci pôvodnej sekvencie až do zadaného počtu položiek.

Tu je príklad použitia funkcie chvosta na zozname v Pythone:

abstraktná trieda vs rozhranie
 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ýkon:

 [3, 4, 5] 

V tomto príklade má funkcia chvost dva argumenty: nasl a n . nasl je sekvencie (v tomto prípade zoznam), z ktorého chceme vytiahnuť položky na konci, a n je počet položiek chceme extrahovať.

Potom funkcia použije syntax delenie na Python na extrahovanie posledných n položiek sekvencie. The -n: zápis znamená „vezmite posledných n položiek“ , takže nasledujúce[-n:] vráti nový zoznam obsahujúci iba posledné tri položky z my_list.

Všimnite si, že pôvodný zoznam môj_zoznam nie je modifikovaný chvost funkciu. Namiesto toho funkcia vráti nový zoznam, ktorý obsahuje iba zadaný počet položiek z konca pôvodného zoznamu.

Túto funkciu chvosta možno použiť niekoľkými spôsobmi:

Napríklad, keď potrebujeme extrahovať N znaky z konca reťazca, ktoré možno implementovať takto:

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

Výkon:

čítať z csv java
 world! 

V tomto príklade chvost(môj_reťazec, 6) vráti posledných šesť znakov reťazca, ktoré sú 'svet!'.

Príklad 2: Extrahovanie posledných N riadkov zo súboru

Predpokladajme, že máte textový súbor a chcete z neho extrahovať posledných n riadkov. Na čítanie súboru a extrahovanie posledných n riadkov môžete použiť funkciu chvosta spolu so vstavanou funkciou otvorenia 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ýkon:

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

V tomto príklade chvost(cesta_k_súboru, 5) prečíta súbor na zadanej ceste a vráti posledných päť riadkov súboru.

Príklad 3: Použitie Tail s ďalšími funkciami

Funkciu chvosta je možné kombinovať s inými funkciami Pythonu na vykonávanie zložitejších operácií. Predpokladajme napríklad, že máte zoznam čísel a chcete vypočítať kĺzavý priemer posledných n čísel. Na výpočet súčtu posledných n čísel môžete použiť funkciu chvosta spolu so vstavanou sumovou funkciou Pythonu:

python __dict__
 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ýkon:

 8.0 

V tomto príklade move_average(my_list, 3) používa funkciu chvosta na extrakciu posledných troch čísel zo zoznamu a potom vypočíta ich priemer pomocou funkcie súčtu.