首页 > 解决方案 > 元组列表数组

问题描述

我需要构建一个数据结构,它是一个二维数组,其中每个单元格包含一个位置(前一个单元格)和一个浮点值。如下所示:

((x1,y1),v1)... ((xl,ym),vn)
.
.
.
((xa,yb),vc)....

我知道数组的维度,所以我认为将其设为二维数组会更容易,其中每一列都是一个列表。还有另一种优雅的方法吗?另外,我不确定是否可以将列表附加到数组中。我是否朝着正确的方向前进?

编辑:为澄清起见,我需要制作一个元组列表数组。每个元组的形式为 ((row_position,column_position),some_float_value)。该列表将包含一些 n 个这样的元组。每个列表都需要是数组的一列。我将使用它来回溯。我正在使用这样的东西为 HMM 制作维特比图表。

     word1 word2 word3..
tag1 tuple1 tuple2 tuple3..
tag2 tuple1 tuple2 tuple3..
.
.
.

标签: pythonarrayslist

解决方案


如果你想构建一个矩阵(实际上是一个列表列表),你可以使用这个:

data = [
    [((0, 0), 0.0)
     for j in range(5)]
    for i in range(10)]

或者同样的事情:

data = []
for i in range(10):
    row = []
    for j in range(5):
        cell = ((0, 0), 0.0)
        row.append(cell)
    data.append(row)

这可以像这样使用:

>>> data[0][2]                 # get data for row 0, column 2
((0, 0), 0.0)

>>> data[0][5][0][1] = 555     # change data
>>> data[0][5][1] = 7.4        # change data
>>> data[0][5]
((0, 555), 7.4)

推荐阅读