Python 在迭代列表的函数中获取错误

Python 在迭代列表的函数中获取错误,python,list,function,Python,List,Function,我正在编写一个函数来填充列表: def pad_data(game_data,nofrounds): for i in game_data: c=len(i) if (c<nofrounds): r=nofrounds-len(i) value=i[-1] for k in range(0,r): game_data.append(value)

我正在编写一个函数来填充列表:

def pad_data(game_data,nofrounds):
    for i in game_data:
        c=len(i)
        if (c<nofrounds):
            r=nofrounds-len(i)
            value=i[-1]
            for k in range(0,r):
                game_data.append(value)
然而,当我尝试这样做时,它会给我结果:

game_data =[[1,2,3,4,6],[1,2,3],[5,6,7,8],[4,5,6,56,0]]               
for i in game_data:
        print(len(i))
5
3
4
5

在添加值时,您的代码正在
game\u数据
列表中添加一个整数<代码>游戏数据在函数运行时如下所示:

[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0]]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0]]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0], 3, 3]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0], 3, 3, 8]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0], 3, 3, 8]
请注意,初始列表现在是如何存储列表和整数的列表,而不是仅存储列表


len(3)
然后将为您提供
TypeError

在您的示例中
i
是一个列表,因此有
len()
;您传递给函数的
game_数据是什么?我传递的是我在示例中用于测试它的相同game_数据;基本上,我必须使用game_数据[I]。append而不是game_数据。append是将整数添加到主列表并循环通过它,因此它最终计算整数added的len不是game_数据。append而是I.append我想我必须使用game_数据[I]。append()而不是game_数据。append()
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0]]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0]]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0], 3, 3]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0], 3, 3, 8]
[[1, 2, 3, 4, 6], [1, 2, 3], [5, 6, 7, 8], [4, 5, 6, 56, 0], 3, 3, 8]