我无法解析这些数据。我想知道每个列表中有多少#1。在找到该号码后,我想将其附加到另一个列表中以供日后使用。
我似乎得到了输入:
--> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
当我真正想要的时候:
--> [2, 2, 2, 2, 0, 2, 2, 1, 11, 0]
这是代码:
d = []
count = 0
b = [[1,3,6,2,7,3,9,2,7,1,7],
[1,5,8,3,0,3,6,2,7,2,1],
[1,5,2,6,8,6,2,5,1,8,9],
[5,2,5,2,1,8,1,5,2,4,6],
[5,7,2,7,3,7,3,7,3,9,2],
[1,5,8,3,0,3,6,2,7,2,1],
[5,2,5,2,1,8,1,5,2,4,6],
[3,6,1,5,7,8,4,3,6,3,3],
[1,1,1,1,1,1,1,1,1,1,1],
[3,4,5,6,8,5,7,5,7,3,7]]
for i in b:
for x in b:
if x == 1:
count =+ 1
d.append(count)
count = 0
print(d)
答案 0 :(得分:0)
你在第二个for
循环中迭代错误的对象,我相信你的意思是:
for x in i:
这就是你得到0
s
标准Counter
模块中有一个collections
类,因此您可以简化此操作:
>>> from collections import Counter
>>> [Counter(i)[1] for i in b]
[2, 2, 2, 2, 0, 2, 2, 1, 11, 0]
你也可以在没有Counter
类的情况下更加冗长地执行此操作:
>>> [sum(1 for x in i if x == 1) for i in b]
[2, 2, 2, 2, 0, 2, 2, 1, 11, 0]