Re: [問題] 排除輸出重複數值的方法
※ 引述《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
11/03 11:34, 2F
→
11/03 13:50, , 3F
11/03 13:50, 3F
討論串 (同標題文章)