Python,如何修剪数组中的列表

2024-09-28 16:20:24 发布

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

我有一个包含一些坐标的数组,我需要剪切它并对它们进行排序:

    arr = [
      [211, 211, 211, 132, 132, 132], # Some x Position
      [47, 47, 47, 66, 66, 66]        # Some Y Position
    ]

第一次出现的arr[0]是某个XPosition,在arr[1]中是它的YPosition

对于我的程序,我需要具有以下数组语法:

    arr = [
      [211, 211, 211],  # x Position
      [47, 47, 47],     # y Position
      [132, 132, 132],  # x Position
      [66, 66, 66]      # y Position
    ]

有人能告诉我怎么做吗? 我希望我已经说清楚了


Tags: 程序排序语法positionsome数组arrxposition
3条回答

好的,您有两个子列表,每个子列表按顺序由三元组组成,您希望构建一个新列表,其中包含从两个子列表的三元组构建的对

在Python中,is可以写成:

如果我了解你的问题(我根本不确定我是否了解),这就是解决方案:

result = []
for i in range(0,len(arr[0]), 3):
     result.extend( [ arr[0][i:i+3], arr[1][i:i+3] ] )

此外,正如评论中已经指出的,如果这样说,您的输入数据将更具可读性:

arr = [ 
          [211, 211, 211, 132, 132, 132], # these are x values
          [47, 47, 47, 66, 66, 66]        # and these are y's
      ]

使用切片

    [ [arr[0][:3], arr[1][:3]], [arr[0][3:], arr[1][3:]] ]

相关问题 更多 >