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_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 number: True if max(map(int, number)) - min(map(int, number)) != 2 else False f4 = lambda number: True if '3' not in number else False f5 = lambda number: True if '4' not in number else False if i in [15, 19]: result = sum_group6_dict[i]+sum_group3_dict[i] print(i, list(filter(f5, result))) # print(i, sum_group3_dict[i]) # 连号 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)