我想计算数据框5
中数字df
的总出现次数,其中包含4个列表(我的5
中有3个数字df
)。但是在我的代码中,if
语句在遇到第一个False
返回时停止,并且不计算5
中最后一个列表中的第三个df
。我怎么解决这个问题?
df = [[1,3,5,7,9],[1,2,3,4,5],[2,4,6,8,10],[2,5,6,8,10]]
n,m,counter=0,5,0
for i in range(4):
if df[n].count(m):
print('ok')
counter=counter+1
n=n+1
else:
print('NO')
print(counter)
答案 0 :(得分:3)
您需要使用<a href="deleteMovie?movieID=Foo">
而非i
进行索引:
n
更好:
if df[n].count(m):
缩短方式:
if df[i].count(m):
答案 1 :(得分:1)
我稍微改变了问题,但这里是用来解决这个问题的代码:
df = [[1,3,5,7,9],[1,2,3,4,5],[2,4,6,8,10],[2,5,6,8,10]]
m=5
counter = 0
for sublist in df:
counter += sublist.count(m)
print(counter)
我没有创建多个变量并且使用'for循环',而是设置了一个for循环来迭代原始列表中的每个列表。
答案 2 :(得分:0)
您无法查看每个列表,因为如果您在列表中找到“5”,则只会递增n
。但是你只尝试了4次,所以你有效地查看[2,4,6,8,10]
两次,然后用尽range
。