rmfalx
@rmfalx

Как обратиться к значению ключа в словаре, если их несколько?

Ситуация такая. Мне нужно обновлять значения для ключей с каждой итерацией.
Допустим есть словарь
d = {0: ['1, '2', '3', '4'], 1: ['1, '2', '3', '4'], 2: ['1, '2', '3', '4']}
при обращении по d[0] получаем
d[0] = ['1, '2', '3', '4'] и т. д.
Как обратиться к значениям ключа? Например d[0].value[1] что бы обратиться к значению 2. Как это правильно делать?
И если я прибавлю к d[0] другие значения, как мне их сложить?
d[0] += ['1, '2', '3', '4'] получится d[0] = ['1, '2', '3', '4']['1, '2', '3', '4']
а мне нужно что бы было
d[0] = ['2, '4', '6', '8']

Помогите пожалуйста.
  • Вопрос задан
  • 829 просмотров
Решения вопроса 3
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
>>> d = {0: ['1', '2', '3', '4'], 1: ['1', '2', '3', '4'], 2: ['1', '2', '3', '4']}

> Как обратиться к значениям ключа? Например d[0].value[1] что бы обратиться к значению 2. Как это правильно делать?

>>> d[0][1]
'2'


> И если я прибавлю к d[0] другие значения, как мне их сложить?
>>> list(map(lambda x,y: str(int(x)+int(y)), d[0], ['1', '2', '3', '4']))
['2', '4', '6', '8']
>>>


Для тех кому не нравятся map-ы. Пример на генераторе:
>>> [str(int(d[0][x[0]])+int(x[1])) for x in enumerate(['1', '2', '3', '4'])]
['2', '4', '6', '8']
Ответ написан
@artem78
>>> d[0][1]
'2'
>>> for k, v in enumerate(d[0]):
...   d[0][k] = int(v) * 2
... 
>>> d[0]
[2, 4, 6, 8]


Также можете посмотреть в сторону NumPy.
Ответ написан
@maxfox
d[0] = [a + b for a, b in zip(d[0], [1, 2, 3, 4])]
А вообще, вам нужно точнее описать задачу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
04 мая 2024, в 05:49
10000 руб./за проект
04 мая 2024, в 03:57
10000 руб./за проект
04 мая 2024, в 01:47
2000 руб./за проект