如何从 python 中的字符串打印浮点数?

How to print floats from string in python?

这是一个例子:

x = ["changes": {"Average Response Time": ["22.93705940246582", "21.93705940246582"]}},]

如何只提取我将收到的浮动:

22.93705940246582

21.93705940246582

你的代码是错误的,因为你用了"changes":但是写成一个列表,外面应该是一个大dict。您的代码应如下所示:

你可以这样做:

x = {"changes": {"Average Response Time": ["22.93705940246582", "21.93705940246582"]}}

那么你可以这样做:

print(x['changes']['Average Response Time'])

这给你:

['22.93705940246582', '21.93705940246582']

如果你想要第一个浮动:

print(x['changes']['Average Response Time'][0])

否则,如果你不想听写但想把它做成一个列表。你可以使用这个正则表达式,它会给你你想要的数字:

regex_digit_match = re.compile(r"(\d+(?:\.\d+)?)")
regex_digit_match.findall(yourlist[index])

这在某种程度上是“可能的”,但我建议您首先开始学习 Dictionnaries 和 Python 数据结构。

修复 SyntaxError 后,假设您有:

x = [{"changes": {"Average Response Time": ["22.93705940246582", "21.93705940246582"]}},]

你应该可以做到:

print("\n\n".join(x[0]["changes"]["Average Response Time"]))

完整输出:

>>> x = [{"changes": {"Average Response Time": ["22.93705940246582", "21.93705940246582"]}},]
>>> print("\n\n".join(x[0]["changes"]["Average Response Time"]))
22.93705940246582

21.93705940246582
>>> 

关于\n:相当于“换行”。

关于 x[0]["changes"]["Average Response Time"]:您的 x 变量是 list of dictionnaries。 让我们一步一步来理解:

  1. 在这里我们可以看到我们得到了列表的第一个元素,它是一个字典。
>>> x[0]
{'changes': {'Average Response Time': ['22.93705940246582', 
'21.93705940246582']}}
>>> 
  1. 我们正在寻找“浮点数”——顺便说一下,它们实际上是字符串。这意味着我们首先要“select” "changes" 键。这就是我们在这里所做的。
x[0]["changes"]
{'Average Response Time': ['22.93705940246582', '21.93705940246582']}
>>>
  1. 我们现在要“select”"Average Response Time"键。和以前一样。
>>> x[0]["changes"]["Average Response Time"]
['22.93705940246582', '21.93705940246582']
>>> 

关于str.join()

Return a string which is the concatenation of the strings in iterable. A TypeError will be raised if there are any non-string values in iterable, including bytes objects. The separator between elements is the string providing this method.


希望对您有所帮助,但请尽快了解 Python 列表、字典和数据结构...