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

如何在Python中将循环生成的变量值存储到列表中?

嘿,我懂你的困扰——每次循环里count和itemName都会被新值覆盖,之前找到的最长字符串就这么丢了对吧?要把所有循环生成的结果都存下来其实很简单,咱们只需要提前准备一个空列表,每次找到符合条件的内容就把它加进去就行~

先给你指出原代码里的两个小问题:

  • 变量名有点混乱:一会儿用counter,一会儿用count,容易搞混;
  • 索引写反啦:原代码里items[i][j]其实应该是items[j][i],因为你的tableData里每个子列表是一行,j是行索引,i是列索引,这样才能正确遍历每一列的元素。

下面是修改后的代码,我给你加了详细的注释:

def printTable(items):
    # 先创建一个空列表,专门用来存每一列的最长字符串信息
    stored_results = []
    
    # 遍历每一列(items[0]的长度就是总列数)
    for column_idx in range(len(items[0])):
        # 初始化当前列的最长长度和对应字符串
        max_length = 0
        longest_item = ""
        
        # 遍历每一行,检查当前列的每个元素
        for row_idx in range(len(items)):
            current_item = items[row_idx][column_idx]
            current_len = len(current_item)
            
            # 如果当前元素更长,就更新最长记录
            if current_len > max_length:
                max_length = current_len
                longest_item = current_item
        
        # 把当前列的结果存到列表里,用字典格式更清晰
        stored_results.append({
            "列序号": column_idx + 1,
            "最长字符串": longest_item,
            "长度": max_length
        })
        
        # 同时打印当前列的结果(保留你原来的需求)
        print(f'第{column_idx+1}列的最长字符串是: {longest_item}; 它的长度是 {max_length}')
    
    # 最后把存储的所有结果返回,方便你后续使用
    return stored_results

tableData = [
    ['apples','oranges','cherries','banana'],
    ['Alice','Bob','Carol','David'],
    ['dogs','cats','moose','goose']
]

# 调用函数,获取所有存储的结果
all_results = printTable(tableData)

# 如果你想查看所有存下来的结果,直接打印就行
print("\n所有存储的结果:")
for result in all_results:
    print(result)

这样修改后,每一列的最长字符串信息都会被存在stored_results列表里,再也不会被覆盖啦~你可以随时调用这个列表里的数据,比如做进一步处理或者保存起来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:06:09