我正在尝试输出[3.1]
,其中列表中的数字是浮点数。
b = "3.1"
list1 = []
for i in b:
list1.append(i)
print(list1)
我希望输出为[3.1]
,但是上面的代码输出['3', '.', '1']
答案 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]