gpt4 book ai didi

python 字符串到带有格式字符串的数字

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:55 25 4
gpt4 key购买 nike

我想要使用 Python 进行字符串格式化的反函数。它就像时间模块中的strptime。

 str = '%d %f %d'%( 1 , 5.09 , 77)

str 是 '1 5.090000 77'

函数是

ret_tuple = SOMETHING( "1 5.090000 77" , "%d %f %d")

返回值为(1,5.09,77)

有人知道这样的功能吗,还是我自己实现?

最佳答案

数字格式的反转只是float():

x = float("5.09000")

我建议只将所有内容都转换为 float ,而不是 float 和整数的混合——混合意味着您的代码永远不知道手边是哪种数据类型。无论如何,您可以在打印时删除全零小数部分。

line = "1 5.090000 77"
numbers = [ float(n) for n in line.split() ]

但是如果您真的希望您的数据是 float 和整数的混合,您可以这样做:

numbers = [ (float(n) if "." in n else int(n)) for n in line.split() ]

如果您需要提前指定每个数字将使用哪种格式(无论输入是什么样子),那么只需使用@BurhanKhalid 的答案即可。例如,如果您希望第一个数字成为 float ,即使它给出的是“3”;但请注意,如果需要一个 int 并且您看到“2.0”,那么您将在该方法中遇到错误。

关于python 字符串到带有格式字符串的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645482/

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