如何使用python if语句计算数字总数?

时间:2016-04-15 21:09:59

标签: python list

我想计算数据框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)

3 个答案:

答案 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