Python:将嵌套列表转换为具有坐标位置的简单列表

2024-04-29 19:32:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在学习python和panda3d。 我有一个嵌套列表,我需要转换成一个坐标列表。在

我的意见是

    [['g,g', 'g,g'], ['d,d', 'd,d,d', 'd,d], ['s,s', 's,s']]

我需要的输出是另一个列表:

^{pr2}$

这个简单的列表转换让我很困惑。o、 0

编辑:更多信息: 在输入列表中,最后一个嵌套列表表示基础层。在

这个想法是把我在文件中写的字符串转换成坐标点。这是文件的内容:

    [LVL02]
    g,g
    g,g
    [/LVL02]
    [LVL01]
    d,d
    d,d,d
    d,d
    [/LVL01]
    [LVL00]
    s,s
    s,s
    [/LVL00]

这应该给我一个非常基本的地图制作工具。每个标高都是平面二维曲面。在

    [LVL02]
    g,g             (0,0,2,'g'),(0,1,2,'g')
    g,g             (1,0,2,'g'),(1,1,2,'g')
    [/LVL02]
    [LVL01]
    d,d             (0,0,1,'d'),(0,1,1,'d')
    d,d,d           (1,0,1,'d'),(1,1,1,'d'),(1,2,1,'d')
    d,d             (2,0,1,'d'),(2,1,1,'d')
    [/LVL01]
    [LVL00]
    s,s             (0,0,0,'s'), 0,1,0,'s')
    s,s             (1,0,0,'s'),(1,1,0,'s')
    [/LVL00]

即(X轴、Y轴、Z轴、类型)


Tags: 文件工具字符串信息编辑内容列表地图
1条回答
网友
1楼 · 发布于 2024-04-29 19:32:25

可能是这样的:

l = [['g,g', 'g,g'], ['d,d', 'd,d,d', 'd,d'], ['s,s', 's,s']]
output = [ (x, y, z, v) for z, l1 in enumerate(l[::-1]) for y, l2 in enumerate(l1) for x, v in enumerate(l2.split(',')) ]

。。。但正如它所写的,并不清楚这条规则到底是什么。在嵌套循环中:

^{pr2}$

相关问题 更多 >