首页 > 解决方案 > 如何将数组列表转换为列表列表?

问题描述

我正在开发一个程序,我正在从另一个文件中提取一个列表以加载到另一个文件中,但由于某种原因,我无法弄清楚如何处理这个数组。

我通常一直在将整个程序写入 CSV 文件和从 CSV 文件写入,到目前为止,在尝试将这些值集成到应用程序中时还没有遇到过这个问题。

我有以下我认为是列表的内容,但打印如下:

[array([140.2]), array([160.]), array([174.]), array([156.9]), array([170.]), array([149.6]), array([160.3]), array([171.8]), array([170.7]), array([142.3]), array([147.5]), array([138.1]), array([139.5]), array([], dtype=float64), array([], dtype=float64), array([189.7]), array([134.1]), array([140.9]), array([151.]), array([167.4]), array([146.9]), array([158.6]), array([129.]), array([126.4]), array([], dtype=float64), array([143.4]), array([138.5]), array([161.8]), array([150.4]), array([126.7]), array([], dtype=float64), array([135.7]), array([138.7]), array([], dtype=float64)]

有没有办法对此进行索引并解析为列表?

我试过以下没有运气:

from GRABBING_TEAM_DATA_FROM_SCHEDULE import test

print(test)
test.tolist()
print(test)

错误信息:

AttributeError: 'list' 对象没有属性 'tolist'

那么它在技术上已经是一个列表了吗?如果是这样,是否有一个删除函数来删除“数组”文本并只留下我唯一想要的整数?我也试过

print(test[1])

如果它返回 160 但它从数组返回“a”,这将适用于我想要的。我通过 Pandas 创建此列表并读取 CSV 文件并使用.values.

标签: pythonlistnumpy

解决方案


尝试将以下代码添加到您的代码中:

test = [i.tolist() for i in test]
print(test)

输出:

[[140.2], [160.0], [174.0], [156.9], [170.0], [149.6], [160.3], [171.8], [170.7], [142.3], [147.5], [138.1], [139.5], [], [], [189.7], [134.1], [140.9], [151.0], [167.4], [146.9], [158.6], [129.0], [126.4], [], [143.4], [138.5], [161.8], [150.4], [126.7], [], [135.7], [138.7], []]

推荐阅读