【问题标题】:Python: multi-dimensional lists - appending one 2D list into another listPython:多维列表 - 将一个二维列表附加到另一个列表中
【发布时间】:2016-06-27 23:42:55
【问题描述】:

我希望创建一个主数组/列表,它需要几个二维列表并将它们集成到更大的列表中。

例如,我有一个TableA[],其中dates 作为一个数组/列表,prices 作为另一个数组/列表。我有另一个与 TableB[] 相同的。 TableA[0][0] 有第一个日期; TableA[0][1] 有第一个价格; TableA[1][0] 有第二个日期,以此类推。

我想创建具有BigTable[0][0][0] = TableA[0][0]BigTable[1][0][0] = TableB[0][0]BigTabe[]

任何指导将不胜感激。谢谢!

【问题讨论】:

  • 这不是 2d 列表,它是 3d

标签: python arrays list multidimensional-array


【解决方案1】:

Python 对这类事情相当友好,可以让您将列表作为列表的元素。这是一种方法的示例。

TableA = [['01/01/2000', '$10'], ['02/01/2000', '$11']]

如果您直接将其输入到 python 解释器中,您会将 TableA 定义为包含两个元素的列表。这两个元素也是列表。如果您随后输入TableA[0],您将得到['01/01/2000', '$10']。此外,通过输入 TableA[0][0],您会得到 '01/01/2000',因为这是 TableA 中第一个列表的第一个元素。

进一步扩展,您可以拥有列表列表的列表(等等)。首先,让我们定义TableATableB

TableA = [['01/01/2000', '$10'], ['02/01/2000', '$11']]

TableB = [['03/01/2000', '$13'], ['04/01/2000', '$14']]

现在我们可以简单地将BigTable 定义为具有TableATableB 作为其元素。

BigTable = [TableA, TableB]

现在,BigTable[0] 只是 TableA,所以 BigTable[0][0][0] 将与 TableA[0][0] 相同

如果在某个时刻您意识到您希望BigTable 包含更多列表,请说TableCTableD。只需使用附加功能即可。

BigTable.append(TableC)

顺便说一句,您可能希望将价格和日期表示为数字而不是字符串,但这种方式更容易遵循示例。

【讨论】:

  • 嗨 Orca - 我只是想最后跟进并让您知道您的回答非常有帮助!我非常感谢您花时间解释如何在列表中附加列表。我现在一直使用 BigTable.Append()。再次感谢! (它还不会让我对解释表示赞成,但只要我有能力,我会的。)
  • 很高兴能帮上忙。
猜你喜欢
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-02
  • 2023-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多