在Python中打印与另一个列表相关的列表

ggazkfy8  于 2023-01-01  发布在  Python
关注(0)|答案(4)|浏览(134)

我有两个列表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]]
ss2ws0br

ss2ws0br1#

[X[y] for y in sum(B, [])]
#[353.856161, 282.754301, 134.119055, 63.4573886]
wswtfjt7

wswtfjt72#

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

我还没有测试过这个,但我相信它应该工作

mwkjh3gx

mwkjh3gx3#

B1 = [["{:.8e}".format(X[i]) for i in m] for m in B]

输出:

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

odopli944#

B1 = [[X[i] for i in indices] for indices in B]

相关问题