Re: [問題] 排除輸出重複數值的方法

看板Python作者 (黑駿)時間11年前 (2012/11/03 11:20), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串4/6 (看更多)
※ 引述《darkgerm (黑駿)》之銘言: : 排除重複可以用利用 set 的特性,然後先做排序後再把重複的去掉 : import itertools : x = 4 : ans = set() : if __name__ == '__main__': : for data in itertools.product(range(1,x), repeat=7): : if sum(data) == 9: : ans.add(tuple(sorted(data))) : for i in ans: : print i : """output: : (1, 1, 1, 1, 1, 1, 3) : (1, 1, 1, 1, 1, 2, 2) : """ 上一篇提到不需要產生所有排列 突然想到其實 Python 的 itertools 也有"組合"可用 import itertools x = 4 if __name__ == '__main__': for data in itertools.combinations_with_replacement(range(1,x), 7): if sum(data) == 9: print data """output: (1, 1, 1, 1, 1, 1, 3) (1, 1, 1, 1, 1, 2, 2) """ -- 光明 的背後 是 黑暗 黑暗 的背後 還是 黑暗 由此可知 黑暗 > 光明 Q.E.D. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.230.123

11/03 11:33, , 1F
謝謝 程式語言不是我的主科目 但是日後想再研究 希望可以
11/03 11:33, 1F

11/03 11:34, , 2F
自己寫個課業上小工具 :D
11/03 11:34, 2F

11/03 13:50, , 3F
這年頭很少有人的主科是 programming language 了吧
11/03 13:50, 3F
文章代碼(AID): #1Gb8rY0X (Python)
討論串 (同標題文章)
文章代碼(AID): #1Gb8rY0X (Python)