Wprowadzenie do pojęć listowych Python

Rozumienie zapewnia krótki i łatwy sposób konstruowania nowych sekwencji przy użyciu już zdefiniowanych sekwencji w Pythonie. Sekwencjami tymi mogą być Listy, Zestawy, Słowniki itp. Zrozumienie listy jest jedną z cennych cech Pythona. Krótko mówiąc, lista zrozumień oferuje sposób tworzenia nowych list na podstawie istniejących list. Innymi słowy, Zrozumienie listy jest jednym prostym sposobem na stworzenie listy opartej na niektórych iterowalnych. W tym przypadku iterowalnym jest wszystko, co można wykorzystać do zapętlenia. Zrozumienie list umożliwia użycie alternatywnej składni do tworzenia list i wszelkich innych sekwencyjnych typów danych w pythonie. Przyjrzymy się później, jak są one przydatne. Istnieją 3 elementy Zrozumienia listy, są to:

  • Wyrażenie wyjściowe: To jest opcjonalne i można je zignorować.
  • Iterowalny.
  • Zmienna reprezentująca elementy iterowalne, często nazywana jest zmienną iteratora.

Składnia i przykłady:

W Pythonie możemy tworzyć Wyjaśnienia list, używając następującej składni:

list_variable = (x for x in iterable)

Jak widać w Wyjaśnieniach listy, lista jest przypisana do zmiennej. Spójrzmy na przykład, najpierw możemy rozważyć metodę znalezienia kwadratu liczby za pomocą pętli:

Kod:

numbers = (2, 5, 3, 7) square = () for n in numbers:
square.append(n**2)
print(square)

Wynik:

Teraz zastanówmy się nad tym, aby zrobić to samo, ale używając Wyrażeń list zamiast pętli:

Kod:

numbers = (2, 5, 3, 7) square = (n**2 for n in numbers) print(square)

Wynik:

Tutaj widać, że nawiasy kwadratowe „()” są używane do oznaczenia, że ​​wynikiem wyrażenia w nich jest lista.

Zrozumienie listy i funkcje lambda

Należy pamiętać, że rozumienie list nie jest jedynym sposobem tworzenia list, Python ma wiele wbudowanych funkcji i funkcji lambda, z których można korzystać, takich jak:

Kod:

letters = list(map(lambda x: x, 'human'))
print(letters)

Wynik:

Chociaż działa to w wielu przypadkach, lista zrozumień jest lepsza w czytelności i łatwiejsza do zrozumienia dla kogoś, kto nie jest programistą kodu.

Dodawanie warunków warunkowych w zestawieniach list

Możesz dowolnie używać warunku potrzebnego do zrozumienia listy, aby zmodyfikować istniejącą listę. Rzućmy okiem na przykład, który używa warunkowych:

Kod:

numbers_list = ( x for x in range(20) if x % 2 == 0) print(numbers_list)

Wynik:

Oto inny przykład:

Kod:

numbers_list = (x for x in range(100) if x % 2 == 0 if x % 5 == 0) print(numbers_list)

Wynik:

Używanie zagnieżdżonych pętli w rozumieniu list

W razie potrzeby możemy użyć zagnieżdżonych pętli w opisach list, przyjrzyjmy się, w jaki sposób możemy użyć zagnieżdżonych pętli w ten sposób, znajdując transpozycję macierzy:

Kod:

transposedmatrix = () matrix = ((1, 2, 3, 4), (4, 5, 6, 8)) for i in range(len(matrix (0))):
transposedmatrix_row = () for row in matrix:
transposedmatrix_row.append(row(i))
transposedmatrix.append(transposedmatrix_row)
print(transposedmatrix)

Wynik:

Przykłady pojęć listowych Python

Poniżej znajdują się przykłady Python Zrozumienia listy:

Przykład # 1 - Usuwanie samogłosek z danego zdania

Kod:

def eg_for(sentence):
vowels = 'aeiou'
filter_list = () for l in sentence:
if l not in vowels:
filter_list.append(l)
return ''.join(filter_list)
def eg_lc(sentence):
vowels = 'aeiou'
return ''.join(( X for X in sentence if X not in vowels))
Now, let's define the matrix, run the program and then check-out the results:
sentence = "hello from the other side"
print ("loop result: " + eg_for(sentence))
print ("LC result: " + eg_lc(sentence))

Wynik:

Przykład 2 - Mapowanie nazw krajów z ich stolicami

Kod:

country = ( 'India', 'Italy', 'Japan' ) capital = ( 'Delhi', 'Rome', 'Tokyo' ) output_dict = ()
# Using loop for constructing dictionary
for (key, value) in zip(country, capital):
output_dict(key) = value
print("Output Dictionary using for loop:", output_dict)

Wynik:

Zalety rozumienia list Python

Można pomyśleć, że jeśli Pętle mogą być używane do wykonywania prawie wszystkich czynności związanych ze zrozumieniem listy, po co z nich korzystać? Odpowiedź jest szybka, czas potrzebny na wykonanie zadania i ilość potrzebnej pamięci. Kiedy dokonywane jest rozumienie listy, redukujemy już 3 linie kodu do jednego, a gdy jest to zrobione, kod jest znacznie szybszy, ponieważ w obliczu zrozumienia listy python najpierw przydziela pamięć dla listy, a następnie dodaje do niej elementy. jest to bez wątpienia bardziej elegancki i wyrafinowany sposób tworzenia list opartych na wcześniej istniejących listach.

Wniosek

Teraz, gdy mamy już pewne doświadczenie ze zrozumieniem list, łatwo zrozumieć, w jaki sposób pozwalają nam przekształcić jedną listę w nową listę. Mają prostą składnię, która ogranicza ilość pracy potrzebnej do utworzenia listy. Biorąc pod uwagę, że składnia i struktura wyrażeń listowych jest zasadniczo jak notacja konstruktora zestawów, stają się one dla programistów szybko drugą naturą i zapewniają, że gdy kod zostanie przekazany innej osobie do utrzymania i rozwinięcia, będzie łatwy do zrozumienia i pracować z.

Polecany artykuł

Jest to przewodnik po Pytaniach ze zrozumieniem listy. W tym miejscu omawiamy objaśnienia list i funkcje lambda wraz z implementacją i wyjściem kodu. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Destructor in Python with Advantages
  2. Wykonuj pętlę w języku Python za pomocą schematu blokowego
  3. Tablica ciągów w Pythonie z metodami
  4. Co to są warstwy lambda AWS?
  5. Typy danych PL / SQL
  6. Tablica ciągów w JavaScript
  7. Różne typy danych SQL z przykładami
  8. Kompletny przewodnik po tablicy sznurków