gpt4 book ai didi

python - 如何迭代两个不同大小的列表以获得新列表?

转载 作者:行者123 更新时间:2023-11-28 19:33:26 24 4
gpt4 key购买 nike

现在我想构建一个包含 100*50 二维点的列表。我尝试了以下方法:

[(x+0.5, y+0.5) for x, y in zip(range(100), range(50))]

这只给我 50*50 分。我在 this answer 中找到了原因指出

for zip the length of new list is same as the length of shortest list.

什么是最 Pythonic 正确获得我想要的 100*50 点的方法?

最佳答案

嗯,我想你想要 itertools.product 而不是 zip

itertools.product 计算两个列表的笛卡尔积,并给出总分 100*50 分。

你会这样做的方式是

import itertools
[(x+0.5,y+0.5) for x,y in itertools.product(range(100),range(50))]

你也可以这样做,嵌套 for 循环,但总的来说,我会说 itertools.product 更具可扩展性和更 pythonic(扁平比嵌套更好)

关于python - 如何迭代两个不同大小的列表以获得新列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19395774/

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