首页 > 解决方案 > 如何将“count”变量的输出存储到列表中?(Python)

问题描述

如您所见,变量“count”的初始值为 0。当循环运行时,它会被另一个值覆盖;假设新值为'8'。然后当循环再次运行时,'8' 的新值被新值覆盖;假设新值为“5”。这意味着值“8”是不可恢复的。我不想丢失从循环中创建的任何值,而是将它们存储到列表中。如何将创建的值存储到列表中?

这是我的代码:

def printTable(items):
    for i in  range (len(items[0])):
        print ()
        counter = 0
        for j in range(len(items)):
            if len(items[i][j]) > counter:                count = len(items[i][j])
                itemName = items[i][j]
        print ('the longest string is: ' + itemName + '; and its length is ' + str(counter))            

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

printTable(tableData)

标签: python

解决方案


制作一个列表,然后在每次循环运行时将 count 的值附加到它上面。

def printTable(items):
    count_list = []
    for i in  range (len(items[0])):
        print ()
        counter = 0
        for j in range(len(items)):
            if len(items[i][j]) > counter:
            count = len(items[i][j])
            count_list.append(count)
            itemName = items[i][j]
        print ('the longest string is: ' + itemName + '; and its length is ' + str(counter))
    return count_list            

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

printTable(tableData)

推荐阅读