2012-12-16 48 views
-1

刪除數據我有蟒蛇以下代碼:Python中,從列表

data = [1,2,3,4,5,6] 
data_f = data[0::2] 

編輯:道歉,英語不是我的第一語言。我誤解了文檔,因此提出了一個毫無意義的問題。我只是試圖抓住每一個第二個項目從列表中數據,放入_data_f_,使_data_f_包含(1,3,5)數據包含(2,4,6)。如果不使用流行音樂,我會如何完成這項工作? (我現在知道做別的事情)

+1

'L. pop([index]) - > item - 刪除並返回索引處的項目(默認最後一個)。 如果列表爲空或索引超出範圍,則引發IndexError。 pop()期望一個索引,並且你正在傳遞一個片段,所以這不會奏效。 –

+0

在發佈問題前,您應該先閱讀文檔。 – satoru

+2

閱讀文檔,pop()的行爲清楚地記錄在案。你認爲API可以做什麼是零利益。文檔告訴你方法是如何工作的。閱讀文檔而不是猜測。 –

回答

1
In [11]: print list.pop.__doc__ 
L.pop([index]) -> item -- remove and return item at index (default last). 
Raises IndexError if list is empty or index is out of range. 

注意,[指數]是指該指數是可選的,而不是它應該作爲一個列表。

若要從列表中刪除所有的第二個元素,你可以使用列表理解:

data_f = [data[i] for i in range(len(data))[0::2]] 
0

我想,如果你真的想使用的語法,你可以做

[data.remove(y) for y in data[0::2]] 
+1

他試圖省略每秒鐘的數字,不保留:) – kaspersky

+0

我假設以上是他期望的data.pop([0 :: 2])。但我猜這是不明確的。 – Dino

+0

還要注意,這是非常低效的。 – kaspersky