从给定列表中获取坐标

时间:2015-07-01 12:49:19

标签: python

我想得到列表(row_cols)给出的行和列位置所代表的每个数据的坐标。

每个数据的x_size和y_size由列表(x_sizes和y_sizes)给出。

row_cols = [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

x_sizes = [50, 50, 50, 50, 50, 50, 50, 50, 50]
y_sizes = [60, 60, 60, 60, 60, 60, 60, 60, 60]

for row_col, x_size, y_size in zip(row_cols, x_sizes, y_sizes):
    row, col = row_col[0], row_col[1]

    coord = (row + x_size, col + y_size) ##My trial; I could not imagine further!
    print coord

预期的坐标值在下面,当我打印coord时它应该弹出

(0,0)
(50,0)
(100,0)

(0,60)
(50,60)
(100,60)

(0,120)
(50,120)
(100,120)

我该怎么办?必须使用给定的3个列表(row_cols,x_sizes,y_sizes)

来完成

如预期答案所示,行,col位置的坐标增加了x_size和y_size的总和...

1 个答案:

答案 0 :(得分:4)

产生你说的答案的代码是这样的:

row_cols = [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

x_sizes = [50, 50, 50, 50, 50, 50, 50, 50, 50]
y_sizes = [60, 60, 60, 60, 60, 60, 60, 60, 60]

for row_col, x_size, y_size in zip(row_cols, x_sizes, y_sizes):
    row, col = row_col[0], row_col[1]

    coord = (col * x_size, row * y_size)
    print coord

但您可能会注意到这与您为如何计算这些值所提供的单词描述不完全匹配。得到的“坐标”具有列位置乘以x尺寸的x位置和行位置的y位置乘以y尺寸。有点混乱。