【问题标题】:How to replace the element in a 4-dimension nested list?如何替换 4 维嵌套列表中的元素?
【发布时间】:2022-06-15 21:58:56
【问题描述】:

在这里,我有一个 4 维列表:

input_list = [[[[2, 8, 6],'M1'],[[2, 6, 7],'seq_1'],[[2, 8, 6],'M1']],
            [[[8, 1, 8], 'M2'],[[1, 1, 3], 'seq_2'],[[6, 1, 4], 'M2']]]

在第一个序列中

[[2, 8, 6],'M1'],[[2, 6, 7],'seq_1'],[[2, 8, 6],'M1']

列表中索引 1 处的元素将是静态的 (seq_1)。我需要将其替换为所有其他索引,即索引 0 和索引 2。例如,

[[2, 8, 6],'seq_1'],[[2, 6, 7],'seq_1'],[[2, 8, 6],'seq_1']]  ...

第 2 个序列直到第 N 个序列也是如此。

想要的输出结果:

output_list = [[[[2, 8, 6],'seq_1'],[[2, 6, 7],'seq_1'],[[2, 8, 6],'seq_1']],
            [[[8, 1, 8], 'seq_2'],[[1, 1, 3], 'seq_2'],[[6, 1, 4], 'seq_2']]]

【问题讨论】:

    标签: python multidimensional-array nested-lists


    【解决方案1】:

    如何遍历内部列表并替换?

    for l in input_list:
        static_str = l[1][1]
        for sub_l in l:
            sub_l[1] = static_str
    
    input_list
    [[[[2, 8, 6], 'seq_1'], [[2, 6, 7], 'seq_1'], [[2, 8, 6], 'seq_1']],
     [[[8, 1, 8], 'seq_2'], [[1, 1, 3], 'seq_2'], [[6, 1, 4], 'seq_2']]]
    

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 1970-01-01
      • 2012-10-24
      • 2018-04-18
      • 2014-08-13
      • 2017-06-14
      • 2021-04-17
      • 2020-09-11
      • 1970-01-01
      相关资源
      最近更新 更多