A Pythonban a lista rendezett és módosítható elemek gyűjteménye, míg a szótár olyan kulcs-érték párok gyűjteménye, amelyek rendezetlenek, módosíthatók és indexelhetők. A kívánt kulcs-érték párosítástól függően többféleképpen is konvertálhat egy listát szótárrá a Pythonban. Ez a cikk különféle módszereket vizsgál az átalakítás elérésére.
1. módszer: hurok használata
A lista szótárrá alakításának egyik legegyszerűbb módja a hurok használata. Ez a módszer lehetővé teszi a kulcsok és értékek explicit megadását. Íme egy példa:
# List of fruits fruits = ['apple', 'banana', 'cherry'] # Initialize an empty dictionary fruit_dict = {} # Populate the dictionary using a loop for idx, fruit in enumerate(fruits): fruit_dict[idx] = fruit print(fruit_dict)
Kimenet:
{0: 'apple', 1: 'banana', 2: 'cherry'}
Ebben a példában az enumerate() függvény a lista ismétlésére szolgál, miközben nyomon követi az indexet is. A lista minden eleméhez egyedi index van hozzárendelve kulcsként a szótárban.
2. módszer: A zip() használata
Egy másik módszer a lista szótárrá alakítására a zip() függvény használata. Ez a függvény több iterálható elemet, például listákat párosít egymással. Íme egy példa:
# List of fruits and their prices fruits = ['apple', 'banana', 'cherry'] prices = [1.00, 0.50, 1.50] # Convert lists to a dictionary using zip() fruit_dict = dict(zip(fruits, prices)) print(fruit_dict)
Kimenet:
{'apple': 1.0, 'banana': 0.5, 'cherry': 1.5}
Ebben a példában a zip() függvény az egyes gyümölcsöket a hozzá tartozó árral párosítja, így létrehoz egy kulcs-érték párt a szótárban.
3. módszer: A szótári megértés használata
A Python tömör módot is biztosít a lista szótárrá alakítására a szótári megértés segítségével. Ez a módszer különösen akkor hasznos, ha valamilyen műveletet szeretne végrehajtani a lista elemeivel. Íme egy példa:
# List of fruits fruits = ['apple', 'banana', 'cherry'] # Convert list to a dictionary using dictionary comprehension fruit_dict = {fruit: len(fruit) for fruit in fruits} print(fruit_dict)
Kimenet:
{'apple': 5, 'banana': 6, 'cherry': 6}
Ebben a példában a szótár értelmezése létrehoz egy szótárt, ahol minden gyümölcs kulcs, az érték pedig a gyümölcs nevének hossza.