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

Python中如何存储循环迭代的值?代码append仅存else部分求助

解决Python循环生成值存入列表的问题

嘿,我明白你遇到的问题了——你想把循环里所有打印的内容都存到列表里,但目前只有else分支的内容成功追加了对吧?这是因为你之前只在else块里处理了列表追加,却漏掉了if分支的"na"。

咱们来修改一下代码,把两个分支的结果都添加到列表里:

首先,先初始化一个空列表用来存储结果:

result_list = []

然后在循环里,不管是if还是else分支,都把对应的值追加到这个列表里,同时也可以保留你的打印操作(如果需要的话):

for i in d["Cabin new"]:
    if i == "nan":
        value = "na"
        print(value)
        result_list.append(value)
    else:
        value = i[1:]
        print(value)
        result_list.append(value)

这样循环结束后,result_list里就包含了你之前打印的所有内容啦!

如果觉得重复代码有点啰嗦,还可以简化成这样,用三元表达式来赋值:

result_list = []
for i in d["Cabin new"]:
    value = "na" if i == "nan" else i[1:]
    print(value)
    result_list.append(value)

另外补充一点:如果d["Cabin new"]里的"nan"其实是Python的None或者numpy的np.nan,那你原来的判断条件i == "nan"就不生效了,这时候得改成对应的判断方式,比如pd.isna(i)(如果用pandas的话)或者i is None,不过看你原代码的写法,应该是字符串类型的"nan",所以上面的代码应该没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 11:07:26