Обновление значения словарной записи по ссылке в python - PullRequest
0 голосов
/ 08 марта 2019

Я могу создать ссылку на значение словаря следующим образом:

vehicle_type = 'car'
vehicle_types = {vehicle_type : 0}
vehicle_count = vehicle_types.get(vehicle_type)

Можно ли увеличить vehicle_count таким образом, чтобы vehicle_types[vehicle_type] также увеличивалось (наоборот)?

1 Ответ

0 голосов
/ 08 марта 2019

Я думаю, что вы спрашиваете об "указателях" в Python (что на самом деле не совсем так, но вы можете передавать структуры данных, которые могут быть достаточно хорошими?). Возможно, если вы реализуете список, вы можете достичь желаемого эффекта, например:

vehicle_types = {'car': [0]}
vehicle_count = vehicle_types['car']

vehicle_types['car'][0] += 2 # We only change one of the values

print(vehicle_types['car'], vehicle_count) # both values are changed though

Выходы:

[2] [2]

В этом случае мы изменили оба значения, присвоив одно значение «точке» списку, содержащемуся в vehicle_types['car'], а затем изменив только значение в словаре.

...