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