Если вы сначала извлекли все значения 'x' в list
, как показано, вы можете обновить их следующим образом:
A = [{'x': 1, 'y': 2, 'z': 3},{'x': 0, 'y': 10, 'z': 11}]
x = map((lambda i: i['x']), A)
def do_something(x):
return x+1
print A
# [{'y': 2, 'x': 1, 'z': 3}, {'y': 10, 'x': 0, 'z': 11}]
map((lambda i,v: i.__setitem__('x', do_something(v))), A, x)
print A
# [{'y': 2, 'x': 2, 'z': 3}, {'y': 10, 'x': 1, 'z': 11}]
Однако тот же результат можно получить более эффективно с помощью следующего, которыйне нужно сначала извлекать все значения 'x' в отдельный список:
map((lambda i: (i.__setitem__('x', do_something(i['x'])))), A)