请教各位先进,
给你一个 list, 里面有六个 sub-list,
每个 sub-list 里面有六个数字(范围从1-9)
list 每次随机生成
举例:
[ [ 3, 4, 9, 2, 4, 6],
[ 4, 4, 4, 9, 3, 2],
[ 1, 4, 9, 8, 3, 7],
[ 6, 4, 2, 1, 3, 8],
[ 5, 6, 1, 9, 2, 4],
[ 8, 8, 8, 8, 8, 8] ]
目标是计算出连线数,
横排有3个或以上相同数字的话连线数+1
直排有3个或以上相同数字的话连线数+1
以例子来算的话,连线数是4条 (直的、横的分开算)
我的想法是先 loop 过 sub-list, 再 loop 过每个数字
可是这样横排好解,直排要怎么计算呢?
ps.我在工作了,这真的不是学校作业~谢谢!
作者: yjc1 (.来而色月踏我.) 2016-04-16 09:46:00
x=np.array(L)print (sum(sum(v>=3 for v in Counter(p).values())for p in chain(x,x.T)))
作者: yjc1 (.来而色月踏我.) 2016-04-17 23:28:00
sum(any(len(list(g))>=3 for k, g in groupby(v))for p in (x,x.T) for v in p)