Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 两个嵌套的for循环_Python_Python 2.7 - Fatal编程技术网

Python 两个嵌套的for循环

Python 两个嵌套的for循环,python,python-2.7,Python,Python 2.7,我不知道如何恰当地问这个问题,但以下是我想做的 lists = [] for x in range(3): for y in range(3): if x!=y: lists.append([x,y]) 是否有一个简单的解决方案,使其不会给我相同但相反的列表: 例如[2,0]和[0,2] 我知道我可以浏览这些列表,然后删除它们,但有没有一个解决方案,甚至不列入名单?对不起,我的英语不太好容易: for x in range(3): for y in range(x,

我不知道如何恰当地问这个问题,但以下是我想做的

lists = []
for x in range(3):
  for y in range(3):
    if x!=y:
      lists.append([x,y])
是否有一个简单的解决方案,使其不会给我相同但相反的列表: 例如[2,0]和[0,2]

我知道我可以浏览这些列表,然后删除它们,但有没有一个解决方案,甚至不列入名单?对不起,我的英语不太好

容易:

for x in range(3):
  for y in range(x, 3):
      lists.append([x,y])
简单:

你可以用

在上面的示例中,我们从range3中选取两个元素的任意组合,而不重复任何元素。

您可以使用


在上面的例子中,我们从range3中选取两个元素的任意组合,而不重复任何元素。

如果您不想要这些重复的元素,您需要一个

组合是从集合中选择项目的一种方式,与排列不同,选择顺序并不重要

上面我使用了Python模块中的

解释 我之所以设置r=2,是因为您希望子序列长度为2,即您描述为[x,y]的形式 iterable=range3参数只是用于组合的元素列表,因此range3将导致[0,1,2] 应用于最终结果的列表只是强制将输出输出输出到控制台,因为否则itertools.combines将返回一个iterable,您将遍历该iterable以逐个提取元素。
如果你不想要那些复制品,你需要一个

组合是从集合中选择项目的一种方式,与排列不同,选择顺序并不重要

上面我使用了Python模块中的

解释 我之所以设置r=2,是因为您希望子序列长度为2,即您描述为[x,y]的形式 iterable=range3参数只是用于组合的元素列表,因此range3将导致[0,1,2] 应用于最终结果的列表只是强制将输出输出输出到控制台,因为否则itertools.combines将返回一个iterable,您将遍历该iterable以逐个提取元素。
当然:如果添加y>x的所有对,而不是所有可能的对,则每对x、y和y、x中只会出现一对

lists = []
for x in range(3):
    for y in range(x + 1, 3):
        lists.append([x,y])

当然:如果添加y>x的所有对,而不是所有可能的对,则每对x、y和y、x中只会出现一对

lists = []
for x in range(3):
    for y in range(x + 1, 3):
        lists.append([x,y])

很好,谢谢!抱歉,如果以前有人问过,我不知道如何正确地搜索它。很好,谢谢!对不起,如果以前有人问过,我不知道如何正确地搜索它。
lists = []
for x in range(3):
    for y in range(x + 1, 3):
        lists.append([x,y])