如何获取列表元素的一部分



我有一个列表。列表的前4个元素是:

H=['     2 t[0,1]       B          1e-08                             n',
'     3 t[0,2]       B          1e-09                             n',
'     4 t[0,3]       B          1e-2                             n',
'     5 t[0,4]       B          1e-08                             n']

如何获得以下信息:

输出:

H=[1e-08,1e-09,1e-2,1e-08]

strip()结束空白的字符串,然后拆分并获取所需的列:

H = ['     2 t[0,1]       B          1e-08                             n',
'     3 t[0,2]       B          1e-09                             n',
'     4 t[0,3]       B          1e-2                             n',
'     5 t[0,4]       B          1e-08                             n'
]
[s.split()[3] for s in map(str.strip, H)]
# ['1e-08', '1e-09', '1e-2', '1e-08']

如果想要实际数字而不是字符串,可以将值传递给float()

[float(s.split()[3]) for s in map(str.strip, H)]
# [1e-08, 1e-09, 0.01, 1e-08]

最新更新