Python 矩阵 连续出现 1 的次数 python 计算数组中每个数字出现多少次

python\u4e8c\u7ef4\u6570\u7ec4\u4e2d\u7684\u6bcf\u4e00\u7ec4\u5143\u7d20\u91cd\u590d\u7684\u6b21\u6570\u600e\u4e48\u7edf\u8ba1

\u4ee3\u7801\u5982\u4e0b\uff1a
#coding=utf-8if __name__ == '__main__': a = [ [2,3,34,56], [14,23,45,6], [2,3,34,56] ] map = {} for item in a: s = str(item) if s in map.keys(): map[s] = map[s] + 1 else: map[s] = 1 for key in map.keys(): print('%s\u7684\u6b21\u6570\u4e3a%d' % (key, map[key]))\u8fd0\u884c\u7ed3\u679c\uff1a

import numpy as np a = np.ones((4,5))print(a)print(np.sum(a==1))

\u5047\u5b9a\u6570\u7ec4\u4e3aa
\u53ef\u4ee5\u5148\u8bd5\u7528a==\u67d0\u4e2a\u6570\uff0c\u8f6c\u6362\u4e3a\u4e00\u4e2a\u5305\u542bTrue\u6216\u8005False\u7684\u6570\u5b57\uff0c
\u7b49\u4e8e\u8be5\u6811\u5219\u4e3aTrue\uff0c\u4e0d\u7b49\u4e8e\u5219\u4e3aFalse
True\u53c8\u53ef\u4ee5\u5f53\u4f5c1\uff0cFalse\u53ef\u4ee5\u5f53\u4f5c0
\u4f7f\u7528np.sum\u6c42\u548c\u53ef\u4ee5\u5f97\u5230\u7b49\u4e8e\u8be5\u6570\u7684\u603b\u4e2a\u6570

#coding:utf-8

def checknum(l,n=1):
#计算列表中连续=n的数目,返回最大连续数
res=[]
count=0
for i in l:
if i == n:
count+=1
else:
res.append(count)
count=0
return max(res)

d=[
[1, 0, 0,1], 
[1, 1, 1,1], 
[1, 1, 0,0], 
[1, 1, 1,1], 
[0, 0, 0,1]
]

d2=[[i[j] for i in d] for j in range(len(d[0]))] #转为列形式

print [i.count(1) for i in d2] #每列中含有1的数目
print [checknum(l) for l in d2] #每列中连续出现1的数目

输出:

[4, 3, 2, 4]
[4, 3, 1, 2]


扩展阅读:python random ... python矩阵乘法不用numpy ... 学了python再学c++好学吗 ... python numpy矩阵运算 ... python中生成一个矩阵 ... python for死循环 ... python dict 遍历 ... python一键打包exe ... python网站 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网