先說需求:
需求主要就是:如下可見
不同的條件對應不同的值,我需要做的就是將所有的條件用python進行組合。
將所有看作是乙個字典,每乙個key對應乙個情況1,情況1中還有不同的條件,例如審核狀態為情況1,審核狀態中還存在這已審核,未審核等。。。
**如下:
from itertools import combinations
from functools import reduce
list1 = ['已通過','未審核','已廢棄','已完結','以刪除']
list2 = ['話題','**','案例','文章']
list3 = ['0分','1分','2分']
dict =
lists=
def suiji(num):
for key in combinations(dict.keys(), num):
for i in key:
# print(lists)
code = ','
fn = lambda x, code=',': reduce(lambda x, y: [str(i) + code + str(j) for i in x for j in y], x)
print(fn(lists, code))
lists.clear()
print('------------end----------')
if __name__ == '__main__':
suiji(2)
執行結果為:
/users/dongyue/desktop/code/venv/bin/python /users/dongyue/desktop/code/learn/篩選隨機組合.py
*****列表組合情況***** [['已通過', '未審核', '已廢棄', '已完結', '以刪除'], ['話題', '**', '案例', '文章']]
['已通過,話題', '已通過,**', '已通過,案例', '已通過,文章', '未審核,話題', '未審核,**', '未審核,案例', '未審核,文章', '已廢棄,話題', '已廢棄,**', '已廢棄,案例', '已廢棄,文章', '已完結,話題', '已完結,**', '已完結,案例', '已完結,文章', '以刪除,話題', '以刪除,**', '以刪除,案例', '以刪除,文章']
------------end----------
*****列表組合情況***** [['已通過', '未審核', '已廢棄', '已完結', '以刪除'], ['0分', '1分', '2分']]
['已通過,0分', '已通過,1分', '已通過,2分', '未審核,0分', '未審核,1分', '未審核,2分', '已廢棄,0分', '已廢棄,1分', '已廢棄,2分', '已完結,0分', '已完結,1分', '已完結,2分', '以刪除,0分', '以刪除,1分', '以刪除,2分']
------------end----------
*****列表組合情況***** [['話題', '**', '案例', '文章'], ['0分', '1分', '2分']]
['話題,0分', '話題,1分', '話題,2分', '**,0分', '**,1分', '**,2分', '案例,0分', '案例,1分', '案例,2分', '文章,0分', '文章,1分', '文章,2分']
------------end----------
process finished with exit code 0
/users/dongyue/desktop/code/venv/bin/python /users/dongyue/desktop/code/learn/篩選隨機組合.py
['已通過,話題', '已通過,**', '已通過,案例', '已通過,文章', '未審核,話題', '未審核,**', '未審核,案例', '未審核,文章', '已廢棄,話題', '已廢棄,**', '已廢棄,案例', '已廢棄,文章', '已完結,話題', '已完結,**', '已完結,案例', '已完結,文章', '以刪除,話題', '以刪除,**', '以刪除,案例', '以刪除,文章']
------------end----------
['已通過,0分', '已通過,1分', '已通過,2分', '未審核,0分', '未審核,1分', '未審核,2分', '已廢棄,0分', '已廢棄,1分', '已廢棄,2分', '已完結,0分', '已完結,1分', '已完結,2分', '以刪除,0分', '以刪除,1分', '以刪除,2分']
------------end----------
['話題,0分', '話題,1分', '話題,2分', '**,0分', '**,1分', '**,2分', '案例,0分', '案例,1分', '案例,2分', '文章,0分', '文章,1分', '文章,2分']
------------end----------
process finished with exit code 0
先將字典中的key就行2個為一組的隨機組合,再將該key對應的列表中情況就行隨機組合。
當其中num=3的時候,字典組合只有一種情況:
/users/dongyue/desktop/code/venv/bin/python /users/dongyue/desktop/code/learn/篩選隨機組合.py
['已通過,話題,0分', '已通過,話題,1分', '已通過,話題,2分', '已通過,**,0分', '已通過,**,1分', '已通過,**,2分', '已通過,案例,0分', '已通過,案例,1分', '已通過,案例,2分', '已通過,文章,0分', '已通過,文章,1分', '已通過,文章,2分', '未審核,話題,0分', '未審核,話題,1分', '未審核,話題,2分', '未審核,**,0分', '未審核,**,1分', '未審核,**,2分', '未審核,案例,0分', '未審核,案例,1分', '未審核,案例,2分', '未審核,文章,0分', '未審核,文章,1分', '未審核,文章,2分', '已廢棄,話題,0分', '已廢棄,話題,1分', '已廢棄,話題,2分', '已廢棄,**,0分', '已廢棄,**,1分', '已廢棄,**,2分', '已廢棄,案例,0分', '已廢棄,案例,1分', '已廢棄,案例,2分', '已廢棄,文章,0分', '已廢棄,文章,1分', '已廢棄,文章,2分', '已完結,話題,0分', '已完結,話題,1分', '已完結,話題,2分', '已完結,**,0分', '已完結,**,1分', '已完結,**,2分', '已完結,案例,0分', '已完結,案例,1分', '已完結,案例,2分', '已完結,文章,0分', '已完結,文章,1分', '已完結,文章,2分', '以刪除,話題,0分', '以刪除,話題,1分', '以刪除,話題,2分', '以刪除,**,0分', '以刪除,**,1分', '以刪除,**,2分', '以刪除,案例,0分', '以刪除,案例,1分', '以刪除,案例,2分', '以刪除,文章,0分', '以刪除,文章,1分', '以刪除,文章,2分']
------------end----------
process finished with exit code 0
JAVA基礎(多執行緒三個或三個以上間的執行緒通訊)
1,多個執行緒通訊的問題 public class demo2 notifyall catch interruptedexception e start new thread catch interruptedexception e start new thread catch interrupte...
Java多執行緒 52 三個和三個以上執行緒之間的通訊
前面一篇介紹了兩個執行緒之間的通訊,那麼三個執行緒和三個以上執行緒之間的通訊是如何實現呢。我們前面一篇在查詢object類的時候,知道有乙個wait 和notify 方法,同時還有乙個notifyall 方法。這個notfiyall 方法就是來解決三個以上執行緒通訊的。1.基於前面知識,新增乙個執行...
python三個單引號
以前寫注釋的時候常用三個單引號,最近工作經常要寫多行的sql,特別是在pymysql中如果使用單引號,轉義將極其麻煩 看兩個栗子 pymysql單引號 select from tmp table where tmp type in a b c 當sql到幾十行,裡面混雜模糊查詢 正則時就很麻煩了 而...