2013-03-14 90 views
0

我有一個6899號碼的列表,從我必須創建一個新列表,只包含從i = 3200到i = 4121的條件。有點像複製和粘貼。如何從Python的現有列表的一部分創建列表?

我試過如下:

e = a[3200<i<4121] 

存在「e」的新列表和「一」原單,但是這個代碼返回一個浮動,而不是一個新的列表,任何提示?

+1

請參閱[The Python Slice Notation](http://stackoverflow.com/q/509211) – 2013-03-14 18:53:26

回答

5

您可以使用slice符號:

e = a[3200:4121] 

還有一個可選的step參數:

e = a[3200:4121:1] 

這是完全等同於上面,但你可以用這種形式來獲得(例如)從索引3200開始到索引4121(不包括)的每個其他元素:

e = a[3200:4121:2] 

請注意,「開始」參數爲,包括,但「停止」參數爲獨佔。所以,lst[n:m]會給你一個清單盯着索引切片索引nm-1

+0

謝謝你,它工作完美! – 2013-03-14 18:52:21

+0

第三個參數的術語是「step」。見http://docs.python.org/2/library/functions.html#slice – Moshe 2013-03-14 19:14:41

+0

@Moshe - 謝謝。我已更新。這是我的C與我的蟒蛇混合... – mgilson 2013-03-14 19:32:12

相關問題