首页 > 解决方案 > 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
    ]

有人可以告诉我该怎么做吗?我希望我已经清楚了。

标签: pythonlistarraylist

解决方案


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

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
      ]

推荐阅读