【发布时间】:2020-01-28 18:19:51
【问题描述】:
我正在编写一个填充列表的函数:
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)
尽管尝试了很多次,但仍然出现以下错误:
TypeError: object of type 'int' has no len()
而当我尝试这样做时,它给了我结果:
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
【问题讨论】:
-
在您的示例中,
i是一个列表,因此有len();你传递给函数的game_data是什么? -
我正在传递我在示例中使用的相同的 game_data 来测试它。 ;基本上我必须使用 game_data[ i ].append 而不是 game_data.append 将整数添加到主列表并循环遍历它,因为它最终计算添加的整数的 len
-
哎呀不是 game_data.append 而是 i.append