如何对列表进行操作,提取需要的元素

如何对列表进行操作,提取需要的元素
a = [['6-6', 'V MIN', 'V MAX'], ['6-6', 'C MIN', 'C MAX'], ['4-4', 'V MIN', 'V MAX'], ['4-4', 'C MIN', 'C MAX']]

a列表为已知条件,

b = [['Sec', '6-6'],
     ['', 'A', 'N', 'D', '+T', '-T', 'O'],[''],
     ['V MIN', '-0.049', '0.000', '-0.049', '0.075', '-0.075', '-*-------'],
     ['V MAX', '0.022', '0.000', '0.022', '0.075', '-0.075', '-----*---'],
     ['C MIN', '-0.065', '0.000', '-0.065', '0.075', '-0.075', '*--------'],
     ['C MAX', '0.001', '0.000', '0.001', '0.075', '-0.075', '----*----']
     ['r', '0.001', '0.000', '0.001', '0.075', '-0.075', '----*----']
     ['ch', '0.001', '0.000', '0.001', '0.075', '-0.075', '----*----'],[''],
     ['Sec', '4-4'],
     ['', 'A', 'N', 'D', '+T', '-T', 'O'],[''],
     ['V MIN', '-0.049', '0.000', '-0.049', '0.075', '-0.075', '-*-------'],
     ['V MAX', '0.020', '0.000', '0.020', '0.075', '-0.075', '-----*---'],
     ['C MIN', '-0.014', '0.000', '-0.014', '0.075', '-0.075', '---*-----'],
     ['C MAX', '0.025', '0.000', '0.025', '0.075', '-0.075', '-----*---']]
     ['r', '0.001', '0.000', '0.001', '0.075', '-0.075', '----*----']
     ['ch', '0.001', '0.000', '0.001', '0.075', '-0.075', '----*----']]

想要提取b列表中V MIN', 'V MAX和C MIN', 'C MAX这一行,‘D’这一列的数字,也就是-0.049,'0.022,'-0.065,'0.001,-0.049,0.020,-0.014,0.025,我该如何用已知的条件得到b列表中的数呢?

可以用列表解析,先将a中要求的数据放到一个列表,再用列表解析做二次过滤,代码如下:

b = [['Sec', '6-6'],...]

a = [['6-6', 'V MIN', 'V MAX'], ['6-6', 'C MIN', 'C MAX'], ['4-4', 'V MIN', 'V MAX'], ['4-4', 'C MIN', 'C MAX']]

s = []
for a1 in [l[1:] for l in a]:
    for a2 in a1:s.append(a2)
b2 =[e[1] for e in b if e[0] in s]
print(b2)

关于列表解析请参考:https://blog.csdn.net/LaoYuanPython/article/details/90084269

img