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.

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']]

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

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

Leave a Reply