Text to list in Python

30 września 2021

Text to list in Python

Text to list in Python

W tym, krótkim artykule zajmiemy się zamianą wczytanego pliku .txt do listy w języku Python. Szukając rozwiązania, prawdopodobnie wpisałeś coś w rodzaju text to list in python, stąd też tytuł artykułu. Swoją drogą, jeżeli wciąż w listach czujesz się niepewnie to obczaj najpierw ten artykuł o takich rzeczach jak slicing i subsetting.

Kluczem jest użycie split()

Zwykła lista w Pythonie

Wyobraźmy sobie, że mamy taki plik tekstowy:

Converting
text to list
in python
is easy

Zaczynamy od tego, że wczytujemy plik (osobny post o czytaniu plików tutaj) używając open(file, mode). Oczywiście, file to ścieżka do naszego pliku, a jako mode damy „r” (for reading).

Tworzymy pustą listę.

Następnie tworzymy pętlę (czyli for loop), która pozwoli nam przejść przejść przez kolejne linijki tekstu, zaś strip() usunie tzw. line breaks, czyli „n”, którym normalnie byłaby zakończona każda linijka.

a_file = open("t.txt", "r")

a_list = []
for line in a_file:
    a_list.append(line.strip())

print(a_list)

a_file.close()

Rezultat:

['Converting', 'text to list', 'in python', 'is easy']

Nested list w Pythonie

Trochę bardziej złożony przykład polega na umieszczenia każdego słowo z linii w osobnej liście. Tutaj dochodzi nam jeszcze użycie split(), dzięki któremu dzielimy linię na słowa.

a_file = open("t.txt", "r")

master_list = []
for line in a_file:
    this_line = line.strip()
    line_list = this_line.split()
    master_list.append(line_list)

a_file.close()

print(master_list)

Rezultat wygląda tak:

[['Converting'], ['text', 'to', 'list'], ['in', 'python'], ['is', 'easy']]

Dla początkujący programista w pythonie, pewnie przeczyta taki kod z przyjemnością. Na nieco bardziej zaawansowanym poziomie, przydałoby się to trochę skrócić i użyć list comprehension.

with open("t.txt", "r") as a_file:
    master_list = [(line.strip().split()) for line in a_file]
    print(master_list)

Rezultat będzie identyczny jak poprzednio, czyli:

[['Converting'], ['text', 'to', 'list'], ['in', 'python'], ['is', 'easy']]

Skoro ogarniasz już zabawę listami, to może pora na regular expressions?

To tyle w tym temacie. Analizujcie w pokoju!  

Podobał Ci się ten artykuł?
Podziel się nim w Social Mediach:
>>> udostępnij go na LinkedIn i pokaż, że codziennie uczysz się czegoś nowego 
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych 
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości

Wolisz oglądać  niż czytać – nie ma problemu
>>> Obserwuj i oglądaj KajoData na YouTube

Inne ciekawe artykuły:

A jeśli chcesz się dowiedzieć czegoś więcej o Pythonie – zajrzyj tutaj.

Ja Ci ją z przyjemnością wyślę. Za darmo. Bez spamu.

Poradnik Początkującego Analityka

Video - jak szukać pracy w IT

Regularne dawki darmowej wiedzy, bez spamu.

Zgadzam się na przetwarzanie moich danych osobowych przez KajoData Kajo Rudziński w celu realizacji usługi newsletter, a tym samym wysyłania mi informacji o produktach blogowych, usługach, lub nowościach, zgodnie z polityką prywatności. Wiem, że zgodę tę mogę w każdej chwili cofnąć.

Please wait...

Dziękujemy za zapis!