gpt4 book ai didi

即时进行 Python 字符串格式化

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:50 25 4
gpt4 key购买 nike

我有一种情况,在我计算出其他数字的长度之前,我不一定知道我想如何格式化一些字符串。

做类似的事情:

"{0:.2f}".format(#)

效果很好,因为我知道我想显示很多地方,在本例中是两个小数点后。如果名额数量有变怎么办?我如何根据名为 A 的列表的相应元素对名为 B 的列表的元素进行动态字符串格式化(也就是说,我想将 B 的适当格式化的元素放入字符串中)?

A = ['1.100','5.4','11.1','7']
B = [1.23474927,4.92837087,12.06532387,6.9998123]

我最希望看到的答案如下:

C = ['1.235','4.9','12.1','7']

这是我目前所知道的:

1) 我可以计算出 A 中每个字符串右边有多少个位置:

places_A = [len(A[i].partition('.')[2]) for i in range(len(A)]

真正的问题是:然后我如何动态地告诉 format() 保留小数点右边的那么多位?

最佳答案

您只需要更多的牛铃(实际上,更多的替代品:{}):

print "This is a number with {1} places {0:.{1}f}".format(3.14159, 2)

或者,在你给出的例子中:

C = ['{0:.{1}f}'.format(b, len(a.partition('.')[2])) for a,b in zip(A,B)]

关于即时进行 Python 字符串格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23815722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com