как динамически получить доступ к количеству и умножить его на 100

#python #dictionary

Вопрос:

как динамически умножить все количество, используя только один цикл for

 a = {'name': 'abc', 'lines': [  (0, 0, {'product': 'abc', 'qty': 00}),  (0, 0, {'product': 'gds', 'qty': 20}),  (0, 0, {'product': 'def', 'qty': 100})]}  

Комментарии:

1. Это сложно, потому что значения находятся внутри кортежа. Однако, results = []; for v in a["lines"]: r = v[2]; r["qty"] *= 100; results.append(tuple(v[0], v[1], r)) . Наконец, a["lines"] = results . Дайте мне знать, если возникнут проблемы.

2. for _, _, d in a['lines']: d['qty'] *= 100; ?

3. @LarrytheLlama for v in a["lines"]: r = v[2]; r["qty"] *= 100; изменила бы правила на месте. В списке нет необходимости results .

4. @Ch3steR Я думал, что кортежи нельзя изменить? Может быть, я ошибаюсь…

5. @LarrytheLlama кортежи, конечно, неизменяемы, но в том, что для вас никогда не менялось v , к которому вы обращались v[2] , что дает вам диктант, который можно изменить на месте.