2017-04-21 27 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