Я хочу додати кілька значень до певного ключа в словнику python. Як я можу це зробити?
a = {}
a["abc"] = 1
a["abc"] = 2
Це замінить значення ["abc"] з 1 на 2.
Натомість я хочу, щоб ["abc"] мав кілька значень (як 1, так і 2).
Я хочу додати кілька значень до певного ключа в словнику python. Як я можу це зробити?
a = {}
a["abc"] = 1
a["abc"] = 2
Це замінить значення ["abc"] з 1 на 2.
Натомість я хочу, щоб ["abc"] мав кілька значень (як 1, так і 2).
Відповіді:
Складіть значення у списку, наприклад
a["abc"] = [1, 2, "bob"]
ОНОВЛЕННЯ:
Є кілька способів додати значення до ключа та створити список, якщо такого ще немає. Я покажу один із таких методів невеликими кроками.
key = "somekey"
a.setdefault(key, [])
a[key].append(1)
Результати:
>>> a
{'somekey': [1]}
Далі спробуйте:
key = "somekey"
a.setdefault(key, [])
a[key].append(2)
Результати:
>>> a
{'somekey': [1, 2]}
Магія setdefault
полягає в тому, що він ініціалізує значення для цього ключа, якщо цей ключ не визначений, інакше він нічого не робить. Тепер, зазначивши, що setdefault
повертає ключ, ви можете об'єднати їх в один рядок:
a.setdefault("somekey",[]).append("bob")
Результати:
>>> a
{'somekey': [1, 2, 'bob']}
Вам слід ознайомитись із dict
методами, зокрема get()
методом, і провести деякі експерименти, щоб почути себе комфортно.
Як щодо
a["abc"] = [1, 2]
Це призведе до:
>>> a
{'abc': [1, 2]}
Це те, що ви шукали?
{"abc": 1, 2}
так, як дикт - це пара ключ: значення, лише одне значення на ключ.