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

Python中如何将sigma_t按t值分组为嵌套子列表输出?

解决嵌套列表生成问题

问题说明

现有代码将所有计算出的sigma1值直接添加到一维列表sigma_t中,但需要让每个t对应的计算值存入独立的子列表,形成嵌套列表结构。

原代码

import numpy as np
sigma0=0.021
R=8.314
T=295
K=1.5e3
Cb=0.001
km=[1,2,3,4,5]
threshold_sigma=0.005

sigma_t=[]
alpha_t=[]
for t in range(0,2): 
    for i in range(0,len(km)): 
        sigma1=sigma0-R*T*0.001*np.log(1+K*Cb*(1-np.exp(-km[i]*t)))
        if sigma1 < threshold_sigma:
            sigma1 = threshold_sigma
            
        sigma_t.append(sigma1)
    
        
print(sigma_t) 

当前输出

[0.021, 0.021, 0.021, 0.021, 0.021, 0.005, 0.005, 0.005, 0.005, 0.005]

期望输出

[[0.021, 0.021, 0.021, 0.021, 0.021], [0.005, 0.005, 0.005, 0.005, 0.005]]

修改方案

在外层t的循环中,每次创建一个临时子列表,将当前t对应的所有计算值存入该子列表,循环结束后再将子列表添加到sigma_t中:

import numpy as np
sigma0=0.021
R=8.314
T=295
K=1.5e3
Cb=0.001
km=[1,2,3,4,5]
threshold_sigma=0.005

sigma_t=[]
alpha_t=[]
for t in range(0,2): 
    # 初始化当前t对应的子列表
    current_sigma = []
    for i in range(0,len(km)): 
        sigma1=sigma0-R*T*0.001*np.log(1+K*Cb*(1-np.exp(-km[i]*t)))
        if sigma1 < threshold_sigma:
            sigma1 = threshold_sigma
            
        current_sigma.append(sigma1)
    # 将子列表添加到sigma_t
    sigma_t.append(current_sigma)
    
        
print(sigma_t) 

原理说明

原代码每次内层循环都直接将单个值追加到sigma_t,最终得到一维列表。修改后,每个t循环周期内先收集该t对应的所有结果到临时子列表,再将整个子列表作为元素追加到sigma_t,从而生成符合要求的嵌套列表结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:22:59