2017-04-21 267 views
-2

我想在列表中存储1.00000,并且列表应重复1047次。任何人都知道如何使用循环在列表中的所有地方存储1.00000。?Python:在列表中存储Float值

我曾尝试这样的代码:

print(len(data)) 

for content in range(1,len(data)): 
    globals()[content.append(1.00000)] 

,我得到这个错误:提前

Traceback (most recent call last):
File "G:\Setups\Python\chi-1.py", line 24, in <module>
globals()[content.append(1.00000)]
AttributeError: 'int' object has no attribute 'append'

感谢。

+0

这是很好,你已经尝试过。所以,请将其发布在问题中。 – doptimusprime

回答

5

可以使用list comprehension做到这一点:

>>> lst = [1.00000 for x in range(0, 1047)] 
>>> len(lst) 
1047 
如果你想

列表包含字符串'1.00000'使用format(1.000000, '.5f')

>>> lst = [format(1.000000, '.5f') for x in range(0, 1047)] 
>>> len(lst) 
1047 
>>> lst 
>>>['1.00000', '1.00000', '1.00000', '1.00000', '1.00000', '1.00000', '1.00000', '1.00000', '1.00000'......] 
+0

我试过了。它运作了Thanx。 但现在当我打印列表的内容。它只显示1.0而不是1.00000 帮助也是这样..! –

+0

将1.00000更改为“1.00000”,因为我相信你想要一个str而不是浮点数 – abccd

+0

我不想要字符串。我想在列表中存储5个小数点 –

1

在Python可以 “繁殖” 名单。乘法是一个隐含的循环:

lst = [1.0] * 1047 
len(lst) 
#1047 
+0

也试过这个..它也有效但是它只显示相同的1.0甚至当我乘以1.00000而不是1.0时。 –

+0

1.0和1.0000之间没有区别。这是相同的数字。 – DyZ