1

我试图想出一个 for 循环来均匀地填充列表字典(不知道这是否是正确的说法)。IE 我开始

world = [(0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0)...]

只要需要就重复我想以类似的方式分配前两个值

0,0

0,1

1,0

0,2

2,0

1,2

2,1

2,2

3,0

0,3

1,3

3,1

2,3

3,2

3,3

And so on

基本上我希望每个 x 和 y 值都可能达到某个值。我一整天都尝试了几件事,但绝对没有成功

至于第三个值,我只有一个噪声函数,它根据该列表的 x 和 y 定义它

4

1 回答 1

3
>>> from itertools import product
>>> [(x, y, 0) for x, y in product(range(5), repeat=2)]
[(0, 0, 0), (0, 1, 0), (0, 2, 0), (0, 3, 0), (0, 4, 0), (1, 0, 0), (1, 1, 0), (1, 2, 0), (1, 3, 0), (1, 4, 0), (2, 0, 0), (2, 1, 0), (2, 2, 0), (2, 3, 0), (2, 4, 0), (3, 0, 0), (3, 1, 0), (3, 2, 0), (3, 3, 0), (3, 4, 0), (4, 0, 0), (4, 1, 0), (4, 2, 0), (4, 3, 0), (4, 4, 0)]

这个?

应用噪声功能[(x,y,func(x,y)) for x等。

顺便说一句,这是“元组列表”,而不是“列表字典”。

于 2012-11-18T21:13:58.557 回答