【问题标题】:How do you iterate through a python list of coordinates and change the y-axis accordingly?你如何遍历一个 python 坐标列表并相应地更改 y 轴?
【发布时间】:2018-09-25 11:14:41
【问题描述】:

所以我最近一直在玩 Python 列表并遇到了一个问题。 即:

我创建了一个包含 100 个坐标的二维列表。因此,在每个索引处,都有一个包含两个值的列表。因此索引 [0] = [x,y] 等等。

然后我尝试设置这些值来表示某种坐标平面。从 -5 到 5。我设法更改为 x 值以适应。让它们以这样的模式运行: [-5, y] [-4,y] [-3,y] [-2, y] [-1, y] ... 到 5 个,每组 10 个(使 100 个)。

当我尝试更改 y 值以适应相应的情况时,我的问题就出现了。 因为我希望它们看起来像:[x,5][x,5][x,5][x,5][x,5]... 直到下一行 10,它们在哪里是[x,4][x,4][x,4][x,4][x,4] 等等。

因此,我想知道一种遍历列表的方法,将一组索引更改为特定值,然后更改下一组索引的值。

【问题讨论】:

  • 您能否向我们展示您想要的输出,例如 20 行?
  • 当然可以(虽然我目前有一个想法,虽然目前无法测试)[-5, 5], [-4, 5], [-3, 5], [-2, 5], [-1, 5], [0, 5], [1, 5], [2, 5], [3, 5], [4, 5], [5, 4], [-5, 4], [-4, 4], [-3, 4], [-2, 4], [-1, 4], [0, 4], [1, 4], [2, 4], [ 3, 4] 这够了吗?
  • 我认为您应该研究 numpy 以更快、更简单地执行这些操作
  • cords = [[y, x] for x in range(-5, 6) for y in range(-5, 6)]

标签: python arrays list coordinates


【解决方案1】:

按照建议,尝试使用矢量化函数。

例如,通过numpy

import numpy as np

n = 2

A = np.vstack((np.tile(np.arange(-5, 6), n),
               np.repeat(np.arange(5, 5-n, -1), 11))).T

结果:

array([[-5,  5],
       [-4,  5],
       [-3,  5],
       [-2,  5],
       [-1,  5],
       [ 0,  5],
       [ 1,  5],
       [ 2,  5],
       [ 3,  5],
       [ 4,  5],
       [ 5,  5],
       [-5,  4],
       [-4,  4],
       [-3,  4],
       [-2,  4],
       [-1,  4],
       [ 0,  4],
       [ 1,  4],
       [ 2,  4],
       [ 3,  4],
       [ 4,  4],
       [ 5,  4]])

【讨论】:

    猜你喜欢
    • 2022-06-18
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 2016-12-24
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多