如何将函数映射到三重嵌套列表并保持三重嵌套列表完整?

我一直在为我的博士建立一个分析工作流程,并且一直使用三重嵌套列表来表示我的数据结构,因为我希望它能够在第二和第三级扩展到任意数量的数据.第一级是整个数据集,第二级是数据集中的每个主题,第三级是每个主题的每个度量的行.

[dataset]
      |
      [subject]
              |
              [measure1, measure2, measure3]

我正在尝试将函数映射到每个度量 – 例如将所有点转换为浮点数或用None替换异常值 – 并希望根据其嵌套返回整个数据集但是我当前的代码:

for subject in dataset:
    for measure in subject:
        map(float, measure)

…结果是正确的,正是我想要的,但问题是我无法想到如何有效地将结果分配回数据集或不丢失嵌套级别.理想情况下,我希望它能够改变措施*但我想不出怎么做.

你能建议一种有效率和pythonic的方法吗?三重嵌套列表是一种在程序中组织数据的愚蠢方式吗?

解决方法:

创建一个新列表,而不是这样做

 dataset = [[[float(value) for value in measure] 
                           for measure in subject] 
                           for subject in dataset] 
上一篇:更多嵌套Python嵌套字典


下一篇:javascript – 如何使用嵌套指令保留范围?