筛选
话不多说,上图A.txt
1 2
1 4
1 6
1 9
1 5
2 4
2 5
2 6
2 8
3 4
3 6
4 6
4 9
4 8
4 7
4 11
5 4
5 6
5 22
想要获得的结果
1. 第一个的每个数字获取第二列前三个,不足三个的有几个算几个
例如 1获得的是 2 4 6.
附件条件每个数字不能超过三次,超过的顺延一位,例如1,2,3都获取了6(前三个里面都有6),已满足三次,所以4对应的6舍去,不算,顺延一位(附:顺延一位的结果有可能已经出现过三次,那就继续顺延一位,例如5对应的4,6)
最终想获得的结果为:
1 2
1 4
1 6
2 4
2 5
2 6
3 4
3 6
4 9
4 8
4 7
5 22
{:10_247:} for if多好用{:10_256:}
import re
with open('A.txt','r') as file:
num_list = file.read().split('\n')
all_result={}
count = {}
for item in num_list:
pattern = re.compile(r'\d+')
result1 = pattern.findall(item)
if len(result1)==2:
if not result1 in all_result:
all_result]=[]
if not result1 in count:
count]=0
if count]>=3:
continue
if len(all_result])>=3:
continue
all_result].append(result1)
count]+=1
for i in all_result:
print('\n'.join(]))
都看不懂你的表述{:10_258:} {:10_266:} 2012277033 发表于 2020-11-18 10:25
for if多好用
太强了 {:10_247:} 看都看不懂 {:10_266:}{:10_266:} {:10_261:} 确实没看懂! 这 ?什么东子 膜拜 白嫖鱼币
页:
[1]