Python Lijstbegrip Uitgelegd Met Voorbeelden

Lijstbegrip biedt een bondige manier om lijsten te maken in Python. Ze zijn leesbaarder en vaak efficiënter dan traditionele loops. Dit artikel onderzoekt wat lijstbegrip is, hoe het werkt en geeft voorbeelden om het gebruik ervan te illustreren.

Wat is een lijstbegrip?

Een lijstbegrip is een compacte manier om alle of een deel van de elementen in een verzameling te verwerken en een lijst met de resultaten te retourneren. De syntaxis van een lijstbegrip is:

[expression for item in iterable if condition]

Hierbij is expression het huidige item in de iteratie, maar het is ook de uitkomst, die u kunt manipuleren voordat het als een lijstitem eindigt. iterable is de verzameling waar u doorheen loopt, en condition is een optioneel filter dat alleen items opneemt die aan de voorwaarde voldoen.

Basisvoorbeelden

Een lijst met vierkanten maken

Om een ​​lijst met kwadraten van getallen van 0 tot en met 9 te maken, kunt u als volgt een lijstbegripmethode gebruiken:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)

Uitvoer:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Items filteren

U kunt ook een voorwaarde toevoegen om items te filteren. Bijvoorbeeld om alleen de even getallen uit de lijst te krijgen:

even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)

Uitvoer:

[0, 4, 16, 36, 64]

Een lijst met lijsten afvlakken

Als u een lijst met lijsten hebt en deze wilt afvlakken, kunt u een lijstbegrip gebruiken:

list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)

Uitvoer:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

Geavanceerde voorbeelden

Functies toepassen

U kunt functies toepassen binnen een lijstbegrip. Bijvoorbeeld, om een ​​lijst met strings naar hoofdletters te converteren:

words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)

Uitvoer:

['HELLO', 'WORLD', 'PYTHON']

Geneste begripsvorming

Lijstbegrip kan worden genest. Bijvoorbeeld, om een ​​lijst van tupels (i, j) te maken waarbij i en j beide elementen zijn van twee lijsten:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)

Uitvoer:

[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]

Conclusie

Lijstbegrip biedt een krachtige en bondige manier om lijsten te genereren in Python. Ze kunnen uw code vereenvoudigen en leesbaarder maken door meerdere regels loopcode te vervangen door een enkele regel begrip. Oefen het gebruik van lijstbegrip om vertrouwder te raken met hun syntaxis en mogelijkheden.