假设我们有一个列表:
list_t = ['1.234', '3.6654', '7.134123', '2.2323', 'Someone']
我们的操作应该将上面的字符串列表更改为浮点值,并将浮点值四舍五入到除最后一个字符串外的 2 点。
预期输出将是:
list_t = [1.23, 3.67, 7.13, 2.23, 'Someone']
最佳答案
如果字符串总是出现在最后一个索引中,您可以使用这个简单的列表理解
:
list_t = ['1.234', '3.6654', '7.134123', '2.2323', 'Someone']
list_t = [round(float(num),2) for num in list_t[:-1]] + [list_t[-1]]
print(list_t)
输出:
[1.23, 3.67, 7.13, 2.23, 'Someone']
如果字符串可以在任何位置,则不必使用 try-except
block 或其他东西。您可以使用此列表理解
:
list_t = ['1.234', '3.6654', '7.134123', '2.2323', 'Someone']
list_t = [round(float(num),2) if num.replace('.', '', 1).isdigit() else num for num in list_t]
print(list_t)
输出:
[1.23, 3.67, 7.13, 2.23, 'Someone']
关于python - 从字符串转换到列表中的倒数第二个条目后舍入 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64710650/