Konverter liste til ordbog i Python

At konvertere en liste til en ordbog i Python er ikke så svært.

Lad os se på forskellige måder at konvertere en liste til en ordbog.

Intro

Før vi hopper ind i selvstudiet, lad os se et eksempel på at konvertere en liste til en ordbog. Vi vil have en liste over tuples (hver tuple består af to elementer) eller blot en liste over elementer. Vi tager begge input og konverterer dem til ordbøger.

Eksempler:

I det følgende eksempel har vi taget en liste over tupler og konverteret den til en ordbog. Vi har taget det første element i hver tupel som en nøgle og det andet element som en værdi for ordbogen.

Input: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]

Output: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

I det følgende eksempel har vi taget en liste over elementer og konverteret den til en ordbog med alternative elementer som nøgle og værdi. Vi vil give nul til nøglen, hvis der ikke er noget element tilbage til den som en nøgle (hvis listen har et ulige antal elementer).

  Sådan opsætter du Microsoft Teams

Input: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]

Output:{‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’, ‘d’: Ingen}

Vi har set formålet med tutorialen. Og vi vil diskutere begge eksempler på forskellige måder. Lad os starte med det første eksempel.

Liste over Tuples – Ordbog

Lad os se, hvordan man konverterer en liste over tupler til en ordbog. Du kan prøve at skrive koden ved hjælp af følgende trin.

  • Initialiser listen over tupler med dummy-data som givet ovenstående eksempler (sørg for, at hver tuple på listen har præcis to elementer).
  • Send listen over tuples to dict-metoden, og den gemmer resultatet i en ny variabel.
  • Det er det, vi har konverteret en liste over tuples til en ordbog med en enkelt kodelinje.
# list of tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# converting to dictionary
list_of_tuples_dict = dict(list_of_tuples)

# printing the result dict
print(list_of_tuples_dict)

Du kan teste ovenstående programoutput ved at udføre det. Du får resultatet som vi ser i eksemplerne.

  Sådan identificeres et ukendt symbol ved at tegne det

Liste – Ordbog

Vi har set, hvordan man konverterer en liste over tuples til en ordbog, og det er en ligetil ting i Python. I dette afsnit vil vi se, hvordan man konverterer en almindelig liste til en ordbog.

Se det andet eksempel fra det første afsnit af selvstudiet for at få mere klarhed.

Følg nedenstående trin for at skrive koden til det andet eksempel.

Vi har udfyldt standardværdien som Ingen for det element, der ikke vil have nogen værdi (en liste, der indeholder et ulige antal elementer). Til det skal vi bruge en metode kaldet zip_longest fra modulet itertools.

  • Importer modulets itertools og initialiser en liste med et ulige antal elementer givet i eksemplerne.
  • Konverter listen til en iterabel for at undgå gentagelse af nøgle- og værdipar i zip_longest-metoden.
  • Send nu den iterable til metoden zip_longest og fillvalue som Ingen. Det vil returnere et zip-objekt.
    • Vi skal bestå iterable to gange, da det tager nøgle og værdi fra de to iterables. I vores tilfælde er både nøgler og værdier i samme iterable. Så vi skal bestå det to gange før fillvalue.
  • Konverter objektet til Python-ordbogen ved hjælp af dict-metoden.
  • Print resultatet.
# importing the module
import itertools

# plain list with odd number of elements
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# converting it to iterable to avoid repetition
plain_list_iter = iter(plain_list)

# converting the plain_list to dict
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# convert the zip_longest object to dict using `dict`
plain_list_dict = dict(plain_list_dict_object)

# print it
print(plain_list_dict)

Du kan give fyldværdien, hvad du vil. Prøv forskellige ting med det. Og kør koden for at se, om vi får det nøjagtige output som nævnt i eksemplet eller ej.

  Sådan integrerer du en Google-tegning i Google Docs

Konklusion

Håber du nød at konvertere listen til en ordbog. Lad os mødes i den næste tutorial.

Dernæst skal du lære, hvordan du udjævner listen i Python.

God kodning 🙂

Nydt at læse artiklen? Hvad med at dele med verden?