如何擦除整個數組,使其沒有項目?擦除整個數組Python
我想這樣做,所以我可以存儲新的值(一組新的100浮點數)並找到最小值。
現在我的程序正在讀取集合中的最小值,因爲它之前的集合仍在那裏。順便說一句,我使用.append。
如何擦除整個數組,使其沒有項目?擦除整個數組Python
我想這樣做,所以我可以存儲新的值(一組新的100浮點數)並找到最小值。
現在我的程序正在讀取集合中的最小值,因爲它之前的集合仍在那裏。順便說一句,我使用.append。
請注意list
和array
是不同的類。你可以這樣做:
del mylist[:]
這實際上將修改現有的名單。 David的答案創建了一個新列表並將其分配給相同的變量。你想要什麼取決於情況(例如,其他變量是否有對同一個列表的引用?)。
嘗試:
和
a = [1,2]
b = a
del a[:]
打印a
和每次看到其中的差別b
。
很簡單:
array = []
將設置array
是一個空列表。 (順便說一句,它們被稱爲Python中的列表,而不是數組)
如果這不適用於您,請編輯您的問題以包含演示您的問題的代碼示例。
哇哈哈感謝 – pjehyun 2010-08-17 04:04:02
嗯,是確實存在的陣列,而當它涉及到的東西像del
和append
沒有他們不列出了不同:
>>> from array import array
>>> foo = array('i', range(5))
>>> foo
array('i', [0, 1, 2, 3, 4])
>>> del foo[:]
>>> foo
array('i')
>>> foo.append(42)
>>> foo
array('i', [42])
>>>
差異值得注意的是:你需要指定類型創建陣列時和你節省存儲在加時賽C類,當你做arr[i] = expression
或arr.append(expression)
,並lvalue = arr[i]
現在來回答這個問題,也許你應該問Python類型之間轉換的費用,如「我獲得100 f大form形成某處;我需要把它們放在一個數組或列表之前,我找到最低」
嗎?答:不,如果somewhere
是一個迭代的,而不是做這樣的:
temp = []
for x in somewhere:
temp.append(x)
answer = min(temp)
,你可以這樣做:
answer = min(somewhere)
例子:
answer = min(float(line) for line in open('floats.txt'))
+1嘿,我們寫的幾乎一模一樣,但ÿ你是第一個。 – 2010-08-17 04:09:52
真的,Python中有數組?我不知道。 (其實我可能知道但忘了)無論如何+1擴大了我們的答案之間的差異。我只是猜測這個差別對於OP來說並不重要。 – 2010-08-17 04:12:26
我明白了。這有助於幫助 @david:對,對我來說沒有太大的區別。但是我的新鮮度已經下降:P – pjehyun 2010-08-17 04:13:59