【问题标题】:Printing one list with respect to the other in Python在 Python 中相对于另一个列表打印一个列表
【发布时间】:2022-12-31 00:50:29
【问题描述】:

我有两个列表 BX。我想创建一个新列表 B1,它基本上打印 X 的值和根据 B 的索引。但是我不想手动编写,而是想一步完成。我提出了预期的输出。

B=[[1,2],[3,4]]

X=[4.17551036e+02, 3.53856161e+02, 2.82754301e+02, 
            1.34119055e+02,6.34573886e+01, 2.08344718e+02, 1.00000000e-24]

B1=[[X[1],X[2]],[X[3],X[4]]]

预期的输出是

[[3.53856161e+02,2.82754301e+02],[1.34119055e+02,6.34573886e+01]]

【问题讨论】:

    标签: python list


    【解决方案1】:
    [X[y] for y in sum(B, [])]
    #[353.856161, 282.754301, 134.119055, 63.4573886]
    

    【讨论】:

      【解决方案2】:
      for i in B:
          for j in i:
              j = X[j]
      
      

      我没有测试过这个,但我相信它应该有效

      【讨论】:

        【解决方案3】:
        B1 = [[X[i] for i in indices] for indices in B]
        

        【讨论】:

          【解决方案4】:
          B1 = [["{:.8e}".format(X[i]) for i in indeces] for indeces in B]
          

          输出:

          [[3.53856161e+02,2.82754301e+02],[1.34119055e+02,6.34573886e+01]]
          

          【讨论】:

            【解决方案5】:

            根据需要一步到位:

            result = [[X[i] for i in j] for j in B]
            

            【讨论】:

              猜你喜欢
              • 2012-08-24
              • 1970-01-01
              • 2014-05-18
              • 1970-01-01
              • 2019-12-25
              • 1970-01-01
              • 1970-01-01
              • 2021-07-29
              • 1970-01-01
              相关资源
              最近更新 更多