2013-02-26 54 views
0

我不知道這個問題是否被問到了某處,但我沒有找到它。列表python的限制長度

我將元素追加到列表中。

thr_core0 +=[fpid[thread]] 

這種週期性發生.. 在時間0:

thr_core0 [9886,9890]

在時間1:

thr_core0 [9886,9890,9886,9890]

是否有可能將列表的長度限制爲2.

我知道有可能使用deque。但是也有可能使用lists

使用deque,我們這樣做是這樣的:

thr_core0 += [deque([0]*2,maxlen=2)] 

這些是我搜索的谷歌的關鍵字:limitlistlengthpython

+0

技術上是的 - 但你不想 - 這就是'deque'的用途...... – 2013-02-26 07:04:53

+0

你對'deque'的使用看起來不正確。你可能想要:'thr_core0 = deque([0] * 2,maxlen = 2); thr_core2.append(9886); ...' – jfs 2013-02-26 11:12:32

回答

2

它不漂亮,但你可以切它:

thr_core0 = (thr_core0 + [fpid[thread]])[:2] 

這將始終確保the_core0至多有tw o元素。

+0

好吧。在這種情況下,我將使用deque。但是,這個答案的勾號是必要的。 – rnish 2013-02-26 07:08:48

+0

@rnish:保留最後兩個值而不是前兩個值:'L = L [-2:]' – jfs 2013-02-26 11:14:56