Bevezetés a listátértések Pythonába

A megértések rövid és egyszerű módszert kínálnak új szekvenciák felépítéséhez a Pythonban már meghatározott szekvenciák felhasználásával. Ezek a sorozatok lehetnek listák, halmazok, szótárak stb. A listátájékoztatás a Python egyik értékes tulajdonsága. Dióhéjban a Lista áttekintések lehetőséget kínál új listák létrehozására a meglévő listák alapján. Más szavakkal, a Lista-megértések egy egyszerű módszer a listák elkészítésére néhány megismételhető alapon. Itt egy megismételhető bármi, amit fel lehet használni. A Lista-megértések lehetővé teszik egy alternatív szintaxis használatát a listák és bármely más szekvenciális adattípus létrehozásához a pythonban. Később megvizsgáljuk, hogy ezek mi hasznosak. A Lista-értelmezés 3 alkotóeleme van, ezek:

  • Kimeneti kifejezés: Ez opcionális és figyelmen kívül hagyható.
  • Iterable.
  • Egy változó, amely képviseli az iterábilis tagjait, gyakran nevezik Iterator Variable.

Szintaxis és példák:

A pythonban a következő szintaxissal hozhatunk létre listaláttekintéseket:

list_variable = (x for x in iterable)

Mint láthatja a Lista áttekintések listában, egy listát egy változóhoz rendelnek. Vessen egy pillantást egy példára, először mérlegelhetünk egy módszert egy szám négyzetének hurok segítségével történő megkeresésére:

Kód:

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

Kimenet:

Most mérlegeljük ugyanezt, de a listátfogások használata helyett hurok használatával:

Kód:

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

Kimenet:

Itt látható, hogy a (()) szögletes zárójelekkel jelzik, hogy a benne lévő kifejezés kimenete listát jelent.

Sorolja fel a megértéseket és a lambda funkciókat

Ne feledje, hogy a listamegértés nem csak a listák létrehozásának módja, a Python számos beépített funkcióval és felhasználható lambda funkcióval rendelkezik, például:

Kód:

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

Kimenet:

Noha ez sok esetben működik, a Lista-megértések jobban olvashatók és könnyebben érthetők azok számára, akik nem a kód programozója.

Feltételek hozzáadása a listaösszefoglalókhoz

A meglévő lista módosításához bármilyen feltételt igényelhet a lista megértésén belül. Vessen egy pillantást egy feltételt használó példára:

Kód:

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

Kimenet:

Itt van egy másik példa:

Kód:

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

Kimenet:

Beágyazott hurkok használata a lista áttekintésében

Szükség esetén használhatjuk a beágyazott hurkokat a lista áttekintésében, nézzük meg, hogyan tudunk ilyen módon beágyazott hurkokat használni egy mátrix átültetésének megtalálásával:

Kód:

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)

Kimenet:

Példák a listátértésekre Python

Az alábbiakban bemutatjuk a lista átfogó Python példáit:

1. példa - A magánhangzók eltávolítása az adott mondatból

Kód:

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))

Kimenet:

2. példa - Az országok nevének feltérképezése a fővárosukkal

Kód:

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)

Kimenet:

A listátértések előnyei Python

Gondolkodhatunk abban az esetben, ha a Hurok segítségével szinte mindent megtehetünk a listáról, miért használjuk őket? Nos, a válasz gyors és a feladat elvégzéséhez szükséges idő, valamint a szükséges memória mennyisége. Amikor egy listát megértünk, már 3 kódvonalat redukálunk egybe, és amikor ez megtörténik, a kód sokkal gyorsabb, mint amikor egy listamegértéssel szembesülünk, a python először a memóriát osztja fel a listára, majd az elemeket hozzáadja benne. emellett kétségkívül egy elegánsabb és kifinomultabb módszer a már létező listákon alapuló listák létrehozására.

Következtetés

Most, hogy van némi tapasztalatunk a listamegértéssel kapcsolatban, könnyű megérteni, hogy ezek miként teszik lehetővé az egyik lista új listává alakítását. Ezeknek egy egyszerű szintaxisa van, amely korlátozza a lista létrehozásához szükséges munka mennyiségét. Figyelembe véve a lista áttekintésének szintaxisát és felépítését, alapvetően olyan, mint a készletkészítő jelölés, ezek gyorsan programozók számára második jellegűvé válnak, és biztosítják, hogy miután a kódot más személynek átadták annak fenntartására és kibővítésére, könnyen megérthető és dolgozni vele.

Ajánlott cikk

Ez egy útmutató a List Comprehensions Python-hoz. Itt tárgyaljuk a listamegértéseket és a lambda funkciókat, valamint a kód implementációját és kimenetét. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Pusztító a Pythonban, előnyeivel
  2. Csináld, amíg a hurok a Python-ban folyamatábra
  3. Húros tömb Python-ban módszerrel
  4. Mi az AWS lambda rétegek?
  5. PL / SQL adattípusok
  6. Karakterlánc-tömb a JavaScript-ben
  7. Különböző típusú SQL adatok példákkal
  8. Teljes útmutató a String Array-hez

Kategória: