【问题标题】:Python iteratively add integer to string in listPython迭代地将整数添加到列表中的字符串
【发布时间】:2018-12-03 06:17:41
【问题描述】:

我是 Python (2.7) 的新手,我被嵌套列表困住了。我有一个嵌套列表,其中主列表 A 有 25 个子列表。这些子列表中的每一个都有 21333 个值,按列表组织。

目的是为子列表中的每个项目附加一个整数,该整数对于子列表中的第一个元素为 1,对于子列表中的最后一个元素为 21334。这应该对所有子列表进行。最后,我会将子列表的主要部分转换为浮点数(例如 0.02),将第二部分转换为整数(例如 2)。

下图显示了第一次尝试添加了单词“hello”。但是,最后我想附加整数而不是字符串。

我的代码是on GitHub

【问题讨论】:

  • 请添加您的完整代码,预期的输入和输出
  • 我有一个包含房屋位置的文件 (shp),另一个包含河流节点的 shp (21333) 和一个 .edg 文件,其中包含 25 个不同时间步长的每个房屋的水深。为了能够使用库“networkx”,我需要获取一个包含所有时间步长(TS1 到 TS25)的列表以及包含每个河流节点的水深的每个子列表(TS1-25)。到目前为止,我能够做到这一点,但我意识到将节点 ID(相当于子列表中 21333 个不同水深中的每一个的索引)以另一个列表的形式添加到子列表中会很棒(例如节点索引 2 例如 0.03 2)。
  • 我们非常热衷于您希望向读者展示问题本身的代码。部分原因是我们不希望读者在可以显示在同一页面上时去获取它,但主要是因为我们发现外部链接经常被删除,而当这种情况发生时,我们通常有管理工作删除问题(因为问题不再可以理解)。当然,这将得到任何好的答案,我们宁愿不这样做。考虑到这一点,您会编辑您的问题吗?

标签: python python-2.7 list loops nested


【解决方案1】:

您拥有的是一个形状数组 (25, 21333),并且您想要一个数组 (25, 21333, 2),其类型为 [your value, index],类型为 floatint。这应该工作:

x, y = your_array.shape  # 25, 21333
indices = np.tile(np.arange(1, y+1), (x, 1))
result = np.dstack((your_array, indices)).astype(float, int)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2015-09-06
    • 2014-10-28
    • 2013-10-16
    相关资源
    最近更新 更多