W Pythonie Potrzebuję słownika obiekt, który wygląda tak:Czy jest możliwe przypisanie tej samej wartości do wielu kluczy w obiekcie Dict jednocześnie?
{'a': 10, 'b': 20, 'c': 10, 'd': 10, 'e': 20}
byłem w stanie uzyskać to z powodzeniem łącząc funkcje dict.update()
i dict.fromkeys()
tak:
myDict = {}
myDict.update(dict.fromkeys(['a', 'b', 'c'], 10))
myDict.update(dict.fromkeys(['b', 'e'], 20))
Jednakże, ponieważ kod jest napisany dla początkujących użytkowników, którzy mogą potrzebować czasem dodawać klucze/wartości, wolałbym prostą składnię w stylu "bare-bones" (podobną do Perla), taką jak:
myDict = {}
myDict['a', 'c', 'd'] = 10
myDict['b', 'e'] = 20
To jednak daje mi:
myDict = {('a', 'c', 'd'): 10, ('b', 'e'): 20}
Czy istnieje sposób mogę uprościć mój pierwszy przykład (przy użyciu dict.update()
i dict.fromkeys()
) dalej i uzyskać obiekt dict szukam?
Albo, alternatywnie, jeśli mam dyktafon z krotkami, tak jak w moim drugim przykładzie, czy istnieje prosty sposób, aby wykonać odnośnik taki jak myDict['c']
lub myDict.get('c')
i uzyskać wartość 10?
PO powiedział, że kod jest napisany dla nowicjuszy, a to stosunkowo trudne zrozumieć po nowicjuszu. – taleinat
@teleinat: więc napisz funkcję, której mogą użyć. Naprawdę mnie zniechęcasz, bo mój kod nie jest wystarczająco głupi? Mój kod używa wbudowanych metod i funkcji. Jak to nie jest podstawa?Jaki jest sens pisania kodu dla początkujących, jeśli nie zamierzają się z niego uczyć? – SilentGhost
OP oczywiście wie, jak programować w Pythonie. Interpretuję jego pytanie, czy istnieje prostsze wbudowane rozwiązanie dla jego przypadku użycia, a nie to, czy można napisać taką funkcję lub osiągnąć to, czego chciał, używając złożonego kodu. Dlatego, jak rozumiem, odpowiedź SilentGhosta nie odpowiada na pytanie, więc go zignorowałem. Mój wstępny komentarz nie opisał mojego powodu do zaniechania. – taleinat