You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何动态访问quantity值并乘100,仅用1个for循环完成所有quantity相乘

问题解答

需求说明

你需要实现两个操作:

  • 动态访问数据中的数量字段并将值乘以100
  • 仅使用1个for循环完成所有数量值的批量运算
    参考数据结构如下:
a = {'name': 'abc', 'lines': [
    (0, 0, {'product': 'abc', 'qty': 0}),
    (0, 0, {'product': 'gds', 'qty': 20}),
    (0, 0, {'product': 'def', 'qty': 100})]}

注:参考结构中数量字段名为qty,如果实际场景字段名为quantity,修改下文对应字段名即可。

实现方法

1. 单个字段动态访问

直接按数据层级定位即可,示例:

# 取lines列表第2条数据的qty值乘以100,索引从0开始计数
target_value = a['lines'][1][2]['qty'] * 100

如果字段名是动态变量,用法如下:

field_name = 'qty' # 可替换为'quantity'适配其他字段名
target_value = a['lines'][1][2][field_name] * 100

2. 单for循环批量处理所有值

直接遍历a['lines']列表即可,无需嵌套循环,修改原数据的实现代码:

field_name = 'qty'
# 仅一层for循环
for line in a['lines']:
    # line是列表中的三元组,第三个元素为存储qty的字典
    line[2][field_name] *= 100

# 验证结果
print([item[2][field_name] for item in a['lines']])
# 输出:[0, 2000, 10000]

如果不需要修改原数据,仅提取计算后的结果,写法如下:

field_name = 'qty'
result = []
for line in a['lines']:
    result.append(line[2][field_name] * 100)

内容的提问来源于stack exchange,提问作者jig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:45:07