gpt4 book ai didi

python - 通过列表嵌套循环避免相同的元素

转载 作者:行者123 更新时间:2023-12-03 15:42:54 25 4
gpt4 key购买 nike

我根本无法很好地解释这个概念,但我正在尝试使用嵌套循环遍历列表,但我不知道如何使用相同的元素来避免它们。

list = [1, 2, 2, 4]
for i in list:
for j in list:
print(i, j) # But only if they are not the same element

所以输出应该是:
1 2
1 2
1 4
2 1
2 2
2 4
2 1
2 2
2 4
4 1
4 2
4 2

编辑,因为解决方案不适用于所有场景:
if i != j解决方案只有在列表中的所有元素都不同时才有效,我显然选择了一个糟糕的例子,但我的意思是相同的元素而不是相同的数字;我改变了例子

最佳答案

您可以比较两次迭代的索引:

lst = [1, 2, 2, 4]
for i, a in enumerate(lst):
for j, b in enumerate(lst):
if i != j:
print(a, b)

您也可以考虑使用 itertools.permutations为您的目的:
lst = [1, 2, 2, 4]
from itertools import permutations
for i, j in permutations(lst, 2):
print(i, j)

两者都会输出:
1 2
1 2
1 4
2 1
2 2
2 4
2 1
2 2
2 4
4 1
4 2
4 2

关于python - 通过列表嵌套循环避免相同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60707457/

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