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

如何将字典中子子列表内的浮点数相乘且保持原结构不变

给字典嵌套列表中的浮点数批量乘固定值(保持原结构)

很简单,用Python基础的循环和列表推导就能搞定,完全不用依赖Pandas或者Numpy,这里给你两种实现方式,根据需求选就行:

方式一:直接修改原字典

如果不需要保留原始数据,直接在原字典上修改效率更高:

# 原始数据字典
worksheet = {"a": [[1.0], [2.0, 3.0]], "b": [[4.0]]}
# 定义要乘的固定值
multiplier = 10.0

# 遍历字典的每个键和对应的子列表集合
for key, sublist_group in worksheet.items():
    # 遍历每个子列表,逐个替换成缩放后的新列表
    for idx in range(len(sublist_group)):
        sublist_group[idx] = [num * multiplier for num in sublist_group[idx]]

# 输出结果
print(worksheet)

运行后得到的结果就是你想要的:

{'a': [[10.0], [20.0, 30.0]], 'b': [[40.0]]}

方式二:创建新字典保留原数据

要是想保留原始字典不动,那就新建一个字典来存结果:

# 原始数据字典
worksheet = {"a": [[1.0], [2.0, 3.0]], "b": [[4.0]]}
multiplier = 10.0

# 初始化新字典
new_worksheet = {}
for key, sublist_group in worksheet.items():
    # 对每个子列表集合做缩放处理
    scaled_sublists = []
    for sublist in sublist_group:
        scaled_sublist = [num * multiplier for num in sublist]
        scaled_sublists.append(scaled_sublist)
    new_worksheet[key] = scaled_sublists

# 输出新字典,原字典worksheet不受影响
print(new_worksheet)

思路解释

核心逻辑就是两层遍历:

  1. 第一层遍历字典的键值对,拿到每个键对应的子列表集合;
  2. 第二层遍历每个子列表,用列表推导式把里面的每个浮点数都乘以固定值,生成新的子列表;
  3. 最后把处理后的子列表放回原位置(方式一)或者存入新字典(方式二)。

这种方法完全符合你的要求:保持原结构不变,只修改浮点数的值,而且不需要任何第三方库~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:55:53