Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.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_List_Iteration - Fatal编程技术网

python列表迭代

python列表迭代,python,list,iteration,Python,List,Iteration,我在python中有一个列表迭代,定义如下: for i in range(5): for j in range(5): if i != j: print i , j 因此,对于定义范围[0..5]中的每个元素,我希望得到每个元素I,但也要得到所有其他非I元素 这段代码完全符合我的预期,但有更干净的方法吗?使用: [(x,y)对于范围内的x(5)对于范围内的y(5)如果x!=y]在两个循环之前,您只能使用range()一次作为第一级优化从效率的角

我在python中有一个列表迭代,定义如下:

for i in range(5):
    for j in range(5):
        if i != j:
            print i , j
因此,对于定义范围[0..5]中的每个元素,我希望得到每个元素I,但也要得到所有其他非I元素

这段代码完全符合我的预期,但有更干净的方法吗?

使用:


[(x,y)对于范围内的x(5)对于范围内的y(5)如果x!=y]

在两个循环之前,您只能使用range()一次作为第一级优化从效率的角度来看,这是完全可以使用的,除非您在紧循环中调用它或显著增加
5
,否则我不会担心。从易读性的角度来看,这是完全可读的;当您需要将这些工具扩展到更多维度或多次需要时,itertools将大放异彩。请在您的答案中提供更多信息。建议为后代提供一些背景或解释。
import itertools as it
for i, j in it.permutations(range(5), 2):
    print i, j