Python 从排列中删除重复的值
我的问题很直截了当:有没有办法描述10个数字之间的所有排列,并排除重复? 在这种情况下,我只有两个地方可以填写数字(英语不是我的母语,我不知道你们怎么称呼它) 如果我这样做Python 从排列中删除重复的值,python,Python,我的问题很直截了当:有没有办法描述10个数字之间的所有排列,并排除重复? 在这种情况下,我只有两个地方可以填写数字(英语不是我的母语,我不知道你们怎么称呼它) 如果我这样做 for x in range (1,10): for y in range (1,10): print(x,y) 我将得到类似(3,7)和(7,3)的结果。 有什么方法可以减少这些情况吗?你可以用这个。但要在循环中完成,只需在x处开始第二个循环: for x in range (1,10): for y in
for x in range (1,10):
for y in range (1,10):
print(x,y)
我将得到类似(3,7)
和(7,3)
的结果。
有什么方法可以减少这些情况吗?你可以用这个。但要在循环中完成,只需在x
处开始第二个循环:
for x in range (1,10):
for y in range (x,10):
print(x,y)
结果:
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2 2
2 3
...
使用itertools,它可能看起来像:
from itertools import combinations_with_replacement
list(combinations_with_replacement(range (1,10), r=2))
结果相似:
[(1, 1),
(1, 2),
(1, 3),
(1, 4),
(1, 5),
(1, 6),
(1, 7),
(1, 8),
(1, 9),
(2, 2),
(2, 3),
...
太好了!谢谢!