Python:遍历列表

标签 python list loops

我想用 python 解决一个思维挑战谜题。 他们给出了 4 个数字(25、28、38、35),他们希望我们将这些数字放在 ...+...-...=... 中,一种可能的解决方案是 25+38-35=28。我试过,从数字中列出一个列表,用一些循环和一个 if 来迭代它们: lst=[25, 28, 38, 35]

for z in lst:
    for x in lst:
        for c in lst:
            for v in lst:
                 if z+x-c==v:
                     print z,x,c,v

但是,当运行 for 循环时,它们会重复数字 (25+25-25=25),这不起作用。我该如何解决?

最佳答案

正如 Luis 的评论所暗示的,一个好的方法是

import itertools

for z, x, c, v in itertools.permutations(lst):
    if z+x-c==v:
        print z,x,c,v

“扁平比嵌套更好”,因为在交互式 Python 提示符下 import this 会提醒您:-)

关于Python:遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28095258/

相关文章:

python - 查找列表中的三元组数

C++:在数组中寻找最大值的问题

c# - 如何使用许多其他 if 条件循环 if 语句

python - range() 函数产生错误 'TypeError: ' str' object is not callable'

python - 为什么列表和元组会改变枚举的输出?

javascript - 使用 React Native 创建可扩展列表

php - 将循环的 MySQL 数组存储为字符串变量

python - Python 中的 NameError - 不确定是类还是函数导致了错误

python : Convert 2 ints to float

python - 合并多个值的两个数据框