Wenn Sie jede Zahl im dict
mit 100 multiplizieren müssen, können Sie alle Werte auf einmal durchlaufen, indem Sie dict comprehension verwenden.
dic = {'a': 1, 'b':2, 'c':3, 'd':4, 'e': 5, 'f':6}
dic = {k: v*100 for k, v in dic.items()}
Wenn Sie die Zahlen der Liste speziell auf Buchstaben im Alphabet (in derselben Reihenfolge) zugeordnet werden, you can zip your list with small caps letters, und benutzen Sie diese list
Ihre bauen dict
:
from string import ascii_lowercase
# you can do this with a dict comprehension
dic = {k: v for (k, v) in zip(ascii_lowercase, lst)}
# or equivalently, call the dict() built-in function
dic = dict(zip(ascii_lowercase, lst))
In In diesem letzten Beispiel wird die Reihenfolge Ihrer Liste in der Reihenfolge der Buchstaben des Alphabets wiedergegeben. So dass a
100
sein wird, wird b
200
sein usw.
Aber man kann nicht ein dict
erinnern, es ist „Ordnung“ machen. Es gibt keine Reihenfolge in einem dict
, Sie können nur die Werte auswählen und sie einzeln festlegen, nicht durchlaufen sie mit einer garantierten Reihenfolge (wie in einer anderen Antwort angegeben, würden Sie OrderedDict dafür benötigen).
Da Wörterbücher keine Reihenfolge haben, wie möchten Sie "b" mit 200 verbinden? Wären Sie mit den Schlüsseln in sortierter Reihenfolge in Ordnung, oder kümmert es Sie überhaupt nicht um den Auftrag? (Z. B. würden Sie mit '{" b ": 100," a ": 200}' okay sein.) – DSM
Ich möchte in Ordnung halten. in meiner tatsächlichen Arbeit bedeutet "a" die erste, "b" bedeutet die zweite und usw. –
Wörterbücher haben keine Reihenfolge zu pflegen. Das ist kein Problem, wenn Sie eine Operation für die Werte unabhängig von der Reihenfolge durchführen möchten (die nicht existiert), wie sie mit 100 multipliziert werden, aber es wird ein Problem sein, wenn Sie eine separate Liste haben, die Sie haben gebaut. – DSM