gpt4 book ai didi

python - 将嵌套的 for 循环转换为列表 comp 并从结果列表中过滤完全平方数

转载 作者:行者123 更新时间:2023-11-28 21:35:48 25 4
gpt4 key购买 nike

我编写了以下代码:

a_list = []

for x in range(5):
a_list.append(dict())
for y in range(5):
if (x != 0 and y != 0) and (x * x != x * y):
a_list[-1][y] = x * y

结果是:

[{}, {2: 2, 3: 3, 4: 4}, {1: 2, 3: 6, 4: 8}, {1: 3, 2: 6, 4: 12}, {1: 4, 2: 8, 3: 12}]

但是,我必须使用列表理解来获得相同的结果。请问我该怎么做?

最佳答案

以下嵌套理解将起作用:

[{y: x*y for y in range(5) if y and x*x != x*y} for x in range(5)]
# [{}, {2: 2, 3: 3, 4: 4}, {1: 2, 3: 6, 4: 8}, {1: 3, 2: 6, 4: 12}, {1: 4, 2: 8, 3: 12}]

内部字典理解的条件有点简化,因为 x*x != x*y 已经暗示了 x != 0

关于python - 将嵌套的 for 循环转换为列表 comp 并从结果列表中过滤完全平方数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51919141/

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