Wie füge ich einen Schlüssel zu einem bestehenden Wörterbuch hinzu? Es hat keine .add()
Methode.
Antworten
Zu viele Anzeigen?
Agus Mathew
Punkte
690
Susan
Punkte
228
Hinzufügen eines Wörterbuchs (Schlüssel, Wert) Klasse.
class myDict(dict):
def __init__(self):
self = dict()
def add(self, key, value):
#self[key] = value # add new key and value overwriting any exiting same key
if self.get(key)!=None:
print('key', key, 'already used') # report if key already used
self.setdefault(key, value) # if key exit do nothing
## example
myd = myDict()
name = "fred"
myd.add('apples',6)
print('\n', myd)
myd.add('bananas',3)
print('\n', myd)
myd.add('jack', 7)
print('\n', myd)
myd.add(name, myd)
print('\n', myd)
myd.add('apples', 23)
print('\n', myd)
myd.add(name, 2)
print(myd)
Odiljon Djamalov
Punkte
577
0xN1nja
Punkte
655
Franz Kurt
Punkte
611
Es gibt eine Aktualisierungsmethode in der dict-Klasse, die für Sie funktionieren sollte.
In Anbetracht dessen:
# dictionary = {"key":"value"}
Aber auch ohne Methode können Sie einen Schlüssel hinzufügen, indem Sie einfach einen neuen Wert wie in der folgenden Zeile erstellen:
dictionary['newkey'] = 'newvalue'
oder mit update https://www.python.org/dev/peps/pep-0584/#dict-update
dictionary.update({'newkey':'newvalue'})
0 Stimmen
Entweder verwenden Sie die akzeptierte Antwort: d['mynewkey'] = 'mynewvalue' oder Sie können val = d.setdefault('mynewkey', 'mynewvalue') verwenden.
2 Stimmen
Wenn Sie einfach <Wörterbuch>[<Schlüssel>] = <Wert> verwenden und der Schlüssel nicht existiert, wird er automatisch hinzugefügt.
2 Stimmen
Re @cs95, dies erzeugt auch ein neues Diktat mit einem zusätzlichen Schlüssel:
dict(existing_dict, new_key=new_val)
per stackoverflow.com/a/46647897/18404711 Stimmen
@MaxGhenis danke, das funktioniert gut für Python < 3.5 (mit einem Vorbehalt), ich habe eine Community-Wiki-Antwort hinzugefügt aquí .