gpt4 book ai didi

python - 将嵌套的 Python 循环转换为列表理解

转载 作者:太空宇宙 更新时间:2023-11-03 12:29:45 26 4
gpt4 key购买 nike

我已经开始研究欧拉项目的一些问题,并且已经解决了 number 4使用简单的蛮力解决方案:

def mprods(a,b):
c = range(a,b)
f = []
for d in c:
for e in c:
f.append(d*e)
return f

max([z for z in mprods(100,1000) if str(z)==(''.join([str(z)[-i] for i in range(1,len(str(z))+1)]))])

解决后,我试图让它尽可能紧凑,并得出了那个可怕的底线!

为了不让事情半途而废,我正在尝试将 mprods 函数压缩为一个列表推导式。到目前为止,我已经进行了这些尝试:

  • [d*e for d,e in (range(a,b), range(a,b))]
    显然完全走错了路。 :-)
  • [d*e for x in [e for e in range(1,5)] for d in range(1,5)]
    这给了我 [4, 8, 12, 16, 4, 8, 12, 16, 4, 8, 12, 16, 4, 8, 12, 16],这是我期望的[1, 2, 3, 4, 2, 4, 6, 8, 3, 6, 9, 12, 4, 8, 12, 16] 或类似的。

有任何 Pythonistas 可以提供帮助吗? :)

最佳答案

c = range(a, b)
print [d * e for d in c for e in c]

关于python - 将嵌套的 Python 循环转换为列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329165/

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