Python中依据列表索引批量提取另一列表元素生成新列表
按嵌套索引列表批量提取元素的解决方案
你可以直接用嵌套列表推导式一步完成这个需求,不需要手动写多层循环或者提取逻辑,代码简洁高效:
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 B1 = [[X[idx] for idx in sublist] for sublist in B] print(B1)
运行后输出和你预期的完全一致:
[[3.53856161e+02, 2.82754301e+02], [1.34119055e+02, 6.34573886e+01]]
逻辑说明
外层列表推导遍历B中的每个子列表,内层推导遍历子列表里的每个索引值,自动从X中取出对应位置的元素,最终生成和B结构完全一致的嵌套列表B1,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者RFeynman123
相关产品推荐
相关产品推荐

