import numpy as np import pandas as pd a = np.arange(1000) l = set([ "".join(sorted(f"{i:03d}")) for i in a ]) 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) # 组三 group3 = [ i for i in l if len(set(i)) == 2] sum_group_dict = {i: [] for i in np.arange(28)} for i in group3: sum_group_dict[sum(map(int, list(i)))].append(i) for i in sum_group_dict.keys(): f3 = lambda number: True if '1' not in number else False print(i, -cachesum_group_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_group_dict[i]] # 组六 group6 = [ i for i in l if len(set(i)) == 3] print(len(group6)/220) 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_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 number: True if '2' not in number else False f4 = lambda number: True if max(map(int, number)) - min(map(int, number)) != 2 else False f5 = lambda number: True if '3' not in number else False f3 = lambda number: True if '8' not in number else False print(i, sum_group6_dict[i]) # print(pd.value_counts(sum_group3).to_dict()) # 连号 result = [] for i in l: a = np.array(list(map(int, i))) if int(np.max(a) - np.median(a)) == 1 or int(np.median(a) - np.min(a)) == 1: result.append(i)