Измените все значения словаря на 1 - PullRequest
0 голосов
/ 30 августа 2018

Я хочу изменить все значения словаря на 1 (с плавающей точкой), я проводил исследования в Интернете, но кажется, что люди редко испытывают эту случайную потребность.

В словаре тысячи записей, ниже приведена его часть

{
 '2015': [2.8216107792591907],
 '2016': [2.3686578052627687],
 '2017': [2.03069274701226]
}

Может кто-нибудь дать мне несколько идей? Спасибо!

Ответы [ 5 ]

0 голосов
/ 30 августа 2018

Я считаю, что использование iterkeys() намного эффективнее.

for k in d.iterkeys():
    d[k] = [1.0]

Вы также можете сделать то же самое без каких-либо циклов и в одну строку, используя fromkeys():

d = d.fromkeys(d, [1.0])

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

0 голосов
/ 30 августа 2018

Вы можете попробовать это:

d = {x: 1.0 for x in d}

Это создает новый словарь d, который сопоставляет каждый ключ в d (старый) с 1.

0 голосов
/ 30 августа 2018
d = {key : 1.0 for key in d.keys()}
0 голосов
/ 30 августа 2018
for element in my_dict:
    my_dict[element] = 1.0
0 голосов
/ 30 августа 2018
myDict = {key : 1.0 for key in myDict}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...