Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从排列中删除重复的值_Python - Fatal编程技术网

Python 从排列中删除重复的值

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

我的问题很直截了当:有没有办法描述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 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),
 ...

太好了!谢谢!