заполнение словаря

ratata

Новичок
Пользователь
Дек 29, 2021
37
1
8
Не получается сохранить ВСЕ элементы через цикл. Сохраняется только последний элемент.
Есть словарь, куда я добавляю элементы через цикл:

mas = dict()
x = ['raf', 'kam', 'rap']

for t in x:
response = requests.get(url=f'...={t}')
item = response.json()
s1 = item.get('s')
p1 = float(item.get('p'))
mas['perhaps1'] = s1
mas['perhaps2'] = p1

То есть я достаю значения из ссылки, создаю ключи ['perhaps1'] и ['perhaps2'] и придаю этим ключам значения из ссылки.
Проблема в том, что в словаре mas сохраняется только последний элемент

print(mas)

Вывод:
{'perhaps1': 'rap', 'perhaps2': '3'}

А нужно, чтобы был такой вывод:
{'perhaps1': 'raf', 'perhaps2': '1', 'perhaps1': 'kam', 'perhaps2': '2', 'perhaps1': 'rap', 'perhaps2': '3'}

Примечание: дальше я буду работать с этим словарем, поэтому нельзя помещать его в цикл.

Подскажите пожалуйста. С наступающим новым годом!
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
А нужно, чтобы был такой вывод:
{'perhaps1': 'raf', 'perhaps2': '1', 'perhaps1': 'kam', 'perhaps2': '2', 'perhaps1': 'rap', 'perhaps2': '3'}
Вы не можете хранить в словаре разные значения по одному ключу, поэтому у вас сохраняются только последние значения.
Если нужно записать много значений по одному ключу, то можно использовать список:
Python:
mas = dict()
x = ['raf', 'kam', 'rap']
mas['perhaps1'] = []
mas['perhaps2'] = []
for t in x:
    response = requests.get(url=f'...={t}')
    item = response.json()
    s1 = item.get('s')
    p1 = float(item.get('p'))
    mas['perhaps1'].append(s1)
    mas['perhaps2'].append(p1)
print(mas)
Вывод будет примерно такой:
Python:
{'perhaps1': ['raf', 'kam', 'rap'], 'perhaps2': ['1', '2', '3']}
Когда задаете вопрос код вставляйте как код, а не как текст.
 
  • Мне нравится
Реакции: ratata

Форум IT Специалистов