gpt4 book ai didi

python - 在 Python 中迭代 N 个维度

转载 作者:太空宇宙 更新时间:2023-11-04 07:25:30 24 4
gpt4 key购买 nike

我有一个 map ,我们称它为 M,其中包含通过 N 个维度映射的数据。

# If it was a 2d map, I could iterate it thusly:
start, size = (10, 10), (3, 3)
for x in range(start[0], start[0]+size[0]):
for y in range(start[1], start[1]+size[1]):
M.get((x, y))
# A 3d map would add a for z in ... and access it thusly
M.get((x, y, z))
# And so on.

我的问题是:如何制作可以产生正确迭代序列的迭代器?也就是说,给定 start, size = (10, 10), (3, 3) 它将产生二元组序列 (10, 10), (10, 11), ( 10, 12), (11, 10), (11, 11) 等。给定 start, size = (10, 10, 10), (3, 3, 3)它将产生正确的三元组序列。

是的,我试过自己,但我的头爆炸了。或者我不能证明花时间弄清楚它是合理的,即使它很有趣。随你挑:)

最佳答案

在 Python 2.6+ 中:

itertools.product(*[xrange(i, i+j) for i,j in zip(start, size)])

关于python - 在 Python 中迭代 N 个维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3691468/

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