Как перебирать словарь без обновления значения ключа в python - PullRequest
0 голосов
/ 21 марта 2020

Я сталкиваюсь с этим случаем: у меня есть словарь с этой схемой:

data = {
  "country": "",
  "lat": "",
  "long": ""
}

Я хочу заполнить это, перебирая список стран, которые у меня есть, а затем добавить его в список , Ожидаемый результат:

countriesData = [
   {
      "country": "country1",
       ...
   },
   {
      "country": "country2",
       ...
   }
]

Я запускаю следующий скрипт, но все, что я получил, это список словарей с повторяющимися значениями в ключе "страны": Скрипт

for country in countries:
    dict["country"] = country
    countriesData.append(dict)

выход

[
   {
      "country": "country1",
       ...
   },
   {
      "country": "country1",
       ...
   },
   { 
      "country": "country1"
   }
]

Я новичок в python, буду благодарен, если вы мне поможете. С уважением

Ответы [ 2 ]

0 голосов
/ 21 марта 2020

Трудно точно сказать, что вы хотите сделать здесь с помощью многоточия. Похоже, вы хотите, чтобы countriesData имел объекты, соответствующие схеме вверху, но ваш пример кода имеет дело только с ключом "country".

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

countriesData = [{"country": country} for country in countries]

Это по сути то же самое, что и:

countriesData = []
for country in countries:
    countriesData.append({"country": country})
0 голосов
/ 21 марта 2020
for item in data:
    toadd["country"] = item["country"]
    countriesData.append(toadd)

Расширение комментария - вы добавляете то же самое в новый список.

...