gpt4 book ai didi

python - 在python中将一维数组转换为二维矩阵

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

我正在制作一个 map 编辑器,您可以在其中选择 XY 的大小。

在我的示例中,我将使用 6x6 板。使用 Tkinter,我的值存储在字典中,并以以下格式出现在数组中:

{(0,"floor"), (1,"floor"), (2,"wall"), ..., (35,"wall")} 

我想要做的是让值采用二维数组的格式:

{([0,0],"floor"),([0,1],"floor"), ([0,2],"wall"), ..., ([5,5],wall)}

这是我正在尝试的草稿代码,但似乎没有像我想要的那样工作:

valueX = 6
valueY = 6
totalSize = valueX * valueY
matrix = []

for i in range(totalSize):
matrix.append([i/valueX,i%valueY])

这适用于 6x6 矩阵,但是当我尝试像 6x10 这样的不规则尺寸时,它不会得到我想要的结果。

这是我想要的结果:

[0,0] [0,1]...[0,9],[0,10],[1,0]...

这是我得到的:

[[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 0], [1, 1]]

最佳答案

您的坐标计算不正确 - 我相信这应该更好:

matrix.append([i/valueY, i%valueY])

第一个坐标需要是您的 X 值,该值将为列表中的每个“valueY”元组增加一次,以便除以 valueY。

第二个坐标需要是您的 Y 值,其范围为 0 到 valueY-1,因此 i modulo valueY 会处理这个问题。

我假设代码是一个简化的示例,因为它根本不尝试处理源数据元组。

关于python - 在python中将一维数组转换为二维矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36020707/

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