如何更改代码以获取列表中浮点数的输出

时间:2019-05-10 07:40:02

标签: python list

我正在尝试输出[3.1],其中列表中的数字是浮点数。

b = "3.1"
list1 = []
for i in b:
    list1.append(i)
print(list1)

我希望输出为[3.1],但是上面的代码输出['3', '.', '1']

4 个答案:

答案 0 :(得分:1)

for i in b: list1.append(i)的意思是“对于字符串b中的每个字符,将该字符附加到列表list1中”,从而为您提供了所要的:三个字符的列表。 / p>

如果您只想将b转换为float并追加到列表中,则满足以下条件:

list1.append(float(b))

答案 1 :(得分:0)

尝试一下:

list1 = [float(b)]

输出

[3.1]

之所以得到['3', '.', '1']之类的列表,是因为您要遍历字符串b的所有字符。您需要将b的字符串类型转换为浮点型,然后将其附加到列表中。

答案 2 :(得分:0)

在代码中,变量b的格式为字符串。将其转换为float并追加到列表中。

b = "3.1"
list_1 = []
list_1.append(float(b))
print (list_1)

这应该为您提供所需的输出。

您的操作方式是变量b为字符串格式。这使得for循环将单独的字符追加到列表中,分别为'3','。','1'。将字符串转换为float可以解决您的问题。

答案 3 :(得分:0)

让我们看看这里发生了什么

In [9]: b = "3.1"                                                                                                                                                                 

In [10]: for i in b: 
    ...:     print(i) 
    ...:                                                                                                                                                                          
3
.
1

如您所见,由于b是一个字符串,所以在字符串上进行迭代可以为您提供该字符串的各个字符,最终您将其追加到列表中,列表看起来像['3', '.', '1'] < / p>

因此,您需要将字符串转换为浮点数,然后将其附加到列表中,这很简单

In [11]: b = "3.1"                                                                                                                                                                

In [12]: [float(b)]                                                                                                                                                               
Out[12]: [3.1]

在这里,我们将b转换为浮点数,并使用3.1创建单个列表元素,因为它是唯一的元素

在处理字符串列表时,每个字符串都代表一个浮点数,我们可以将每个元素转换为一个浮点数,并从中创建一个新的列表。

In [13]: b = [ "2.7", "2.9", "3.1"]                                                                                                                                               

In [14]: [float(i) for i in b]                                                                                                                                                    
Out[14]: [2.7, 2.9, 3.1]