gpt4 book ai didi

python - C++ 嵌套 for Python 中的循环表示

转载 作者:行者123 更新时间:2023-11-30 00:45:37 26 4
gpt4 key购买 nike

我使用 C++ 和 Java 编写代码已有一段时间了。我最近也开始用 Python 编写代码。但是,我陷入了 Python 中嵌套 for 循环的情况。我用 C++ 编写了以下代码。它在 Python 中的等效代码是什么?

for(int i = 0; i<a.size();i++){
for(int j = i; j<a.size();j++)
{
if a[i] != a[j]
/*some code */
}

我尝试按如下方式使用枚举,但失败了:

for i, val in enumerate(lst):
for j=i,val2 in enumerate(lst):
if val != val2
#some code

那么如何在 Python 中表示 C++ 嵌套循环呢?

最佳答案

import itertools

for val1, val2 in itertools.combinations(lst, 2):
if val1 != val2:

combinations 将遍历从列表中选择两个不同元素的所有情况,这正是您的嵌套 for 循环正在做的事情。请注意,您的第二个嵌套 for 循环是在 j=i 处初始化的,但是第一种情况无论如何都无法处理,因为它永远不会通过条件。

如果你真的、真的需要索引,而通常你不应该这样做,你可以这样做:

for (i, val1), (j, val2) in itertools.combinations(enumerate(lst), 2):
if val1 != val2:

关于python - C++ 嵌套 for Python 中的循环表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42799112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com