Как добавить словарь в ключ другого словаря? - PullRequest
0 голосов
/ 11 июля 2019

Итак, я хочу, чтобы мой конечный результат выглядел так:

answer = {'A':{1,2,3,4},'B':{1,2,3,4}}

Как я могу это сделать? У меня есть несколько вопросов.

  1. Как сделать словарь без значения пары ключей. Нравится {1,2,3,4}
  2. Как добавить {1,2,3,4} к клавише ('A').
  3. Как добавить A в основной словарь (answer)

По сути, я пытаюсь сделать этот бит в цикле 'A':{1,2,3,4}. Затем за пределами цикла добавьте его к answer.

Ответы [ 3 ]

1 голос
/ 11 июля 2019

{1,2,3,4} это set, а не dict.

Вы можете добавить ключ A и его значение (set) следующим образом:

answer = {}
answer["A"] = {1,2,3,4}

Если у вас есть set, вы можете add:

>>> s = {1,2}
>>> s
{1, 2}
>>> s.add(3)
>>> s
{1, 2, 3}
>>> s.add(4)
>>> s
{1, 2, 3, 4}

Для повторения:

>>> for item in answer['A']:
...   print(item)
...
1
2
3
4
0 голосов
/ 11 июля 2019

Есть ли конкретная причина, по которой вы хотите использовать словарь и добавлять в него значения?

Вы можете использовать словари списка:

# Outer Loop
  try: answer[i] # i = 'A', 'B'
  except KeyError: answer[i] = []

  # Inner Loop
    answer[i].append(j) # j = 1, 2, 3, 4

print(answer) # {'A':[1,2,2,3,4],'B':[1,1,2,3,4]}

Если вам не нужны дубликаты, вы можете использовать набор вместо списка.

# Outer Loop
  try: answer[i] # i = 'A', 'B'
  except KeyError: answer[i] = set()

  # Inner Loop
    answer[i].add(j) # j = 1, 2, 3, 4

print(answer) # {'A':(1,2,3,4),'B':(1,2,3,4)}

Надеюсь, это поможет, ура!

0 голосов
/ 11 июля 2019

Если вы хотите создать словарь, подобный тому, который представлен списком ключей и набором, вы можете сделать:

list_of_keys = ["A", "B", "C"]
some_set = {1,2,3,4}
my_dict = {key: some_set for key in list_of_keys}
...