Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 3.x - Fatal编程技术网

python中嵌套的for循环,具有交错的开始变量

python中嵌套的for循环,具有交错的开始变量,python,python-3.x,Python,Python 3.x,下面是我试图实现的代码的简单版本: for key, value in data.items(): for key2, value2 in data.items(): # other stuff 我正在寻找一种在key处启动key2的方法。所以,例如C++中,将是: for(int i=0; i<n; i++){ for(int j=i; j<n; j++){ # other stuff } } for(int i=0;i您可

下面是我试图实现的代码的简单版本:

for key, value in data.items():
    for key2, value2 in data.items():
        # other stuff
我正在寻找一种在
key
处启动
key2
的方法。所以,例如C++中,将是:

for(int i=0; i<n; i++){
    for(int j=i; j<n; j++){
       # other stuff
    }
}

for(int i=0;i您可以使用
enumerate

for i, (key, value) in enumerate(data.items()):
    for key2, value2 in list(data.items())[i:]:
        #stuff

如果你想迭代所有无序对,自然的解决方案是使用。这有一个额外的优点,即循环只需要一级缩进

按需要导入itertools
对于it.组合(data.items(),2)中的(k1,v1)、(k2,v2):
...
如果要包括
k1==k2
的对,可以使用:

it中(k1,v1)、(k2,v2)的
。组合_与_替换(data.items(),2):
...

哦,这太好了。enumerate是否为您提供了索引?谢谢您的帮助!我将尝试实现此功能作为密码-
enumerate
是一个内置迭代器,它返回(索引,值)的元组