格式化列表列表中的字符串

2024-04-26 11:11:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这张单子

a = [['c', '1.3e-8', '4.5e-8'], ['h', '3.4e-5', '2.3e-7', '2.3e-5']]

我只想将“e”字符串格式化为

a = [[ 'c', '0.000000013', '0.000000045'], ['h', '0.000034', '0.00000023', '0.000023']]

如何在Python中执行此操作?谢谢!你知道吗


Tags: 字符串单子
1条回答
网友
1楼 · 发布于 2024-04-26 11:11:43

如果确定只有第一个元素不是浮点。你知道吗

from decimal import Decimal

a = [['c', '1.3e-8', '4.5e-8'], ['h', '3.4e-5', '2.3e-7', '2.3e-5']]

for inx, rec in enumerate(a):
    a[inx] = [rec[0]] + ['{:.{precise}f}'.format(Decimal(val),
                precise=int(val[-1])+1) for val in rec[1:]]

print(a)

输出:

[['c', '0.000000013', '0.000000045'], ['h', '0.000034', '0.00000023', '0.000023']]

相关问题 更多 >