import numpy as np import pandas as pd a = np.arange(1000) l = set([ "".join(sorted(f"{i:03d}")) for i in a ]) f1 = lambda number: True if '0' in number or '3' in number else False f2 = lambda number: True if sum(map(int, number)) in [10, 13, 14, 16, 17] else False arr1 = list(filter(f1, l)) # print(len(arr1)) # print(arr1) arr2 = list(filter(f2, arr1)) print(len(arr2)) print(arr2) sum_list = [ sum(map(int, list(i))) for i in l] sum_df = pd.value_counts(sum_list) # print(sum_df.to_dict()) print((220/sum_df).to_dict()) # 组三 group3 = [ i for i in l if len(set(i)) == 2] sum_group3_dict = {i: [] for i in np.arange(28)} for i in group3: sum_group3_dict[sum(map(int, list(i)))].append(i) # 组六 group6 = [ i for i in l if len(set(i)) == 3] sum_group6_dict = {i: [] for i in np.arange(28)} for i in group6: sum_group6_dict[sum(map(int, list(i)))].append(i) # for i in sum_group3_dict.keys(): # f3 = lambda number: True if '7' not in number else False # print(i, list(filter(f3, sum_group3_dict[i]))) # print(sum_group3_dict) # sum_group3 = [ sum(map(int, list(i))) for i in group3] # print(pd.value_counts(sum_group3).to_dict()) # for i in range(5, 20): # _result = [item for item in sum_group3_dict[i]] for i in sum_group6_dict.keys(): f1 = lambda number: len([i for i in number if int(i) %2 == 0]) != 0 f2 = lambda number: len([i for i in number if int(i) %2 == 1]) != 0 f3 = lambda n: True if int(n[1]) - int(n[0]) == 1 or int(n[2]) - int(n[1]) == 1 else False f4 = lambda number: True if '3' in number else False f5 = lambda number: True if '2' in number or '5' in number or '7' in number else False f6 = lambda number: True if len(set('279').difference(number)) == 2 else False if i in [12, 13, 14, 15, 16, 17]: # result = sum_group6_dict[i] + sum_group3_dict[i] result = sum_group3_dict[i] print("-"*15 + "组三" + "-"*15) print(i, list(filter(f4, result))) result = sum_group6_dict[i] print("-"*15 + "组六" + "-"*15) print(i, list(filter(f4, result))) print() # 连号 result_1 = [] # 大大小 result_2 = [] for i in a: item = "".join(sorted(f"{i:03d}")) if int(item[2]) - int(item[1]) == 1 or int(item[1]) - int(item[0]) == 1: result_1.append(i) item_2 = f"{i:03d}" if int(item_2[0]) > 4 and int(item_2[1]) > 4 and int(item_2[2]) <= 4: result_2.append(i) f = lambda number: True if '6' in f"{number:03d}" else False f = lambda number: True if '5' in f"{number:03d}" or '1' in f"{number:03d}" or '9' in f"{number:03d}" else False arr = set([ "".join(sorted(f"{i:03d}")) for i in filter(f, result_1)]) # print(list(arr)) # print(len(arr)) # print(len(result_2)) # print(result_2[:20]) # 299669