2013-01-10 107 views
0

我有一段時間從未知長度的元組列表中打印出n個元素。Python:從元組列表中獲取元素,n一次列表中未知長度的元素

一副撲克牌,例如:

a = [ ('2','c'), ('2','d'), ('2','h'), ('2','s'), ('3','c'), ('3','d'), ... ,('A',h'),('A','s') ] 

在這個例子中的列表開始時在52的長度,但我突然離開元件。我想以四人一組的形式將他們打印出來(在這個例子中),但是我一直在最後一個可以少於四個元素的組中犯規。

彈出一串卡後

預期成果是:

('2','c'), ('2','d'), ('2','h'), ('2','s') 
('3','c'), ('3','d'), ('3','h'), ('3','s') 
... 
('J','c'), ('J','d'), ('J','h'), ('J','s') 
('Q','c'), ('Q','d') 
+1

[這一個](HTTP:// stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python)可能派上用場 – georg

回答

3

簡單:

a = [ ('2','c'), ('2','d'), ('2','h'), ('2','s'), ('3','c'), ('3','d'), ... ,('A','h'),('A','s') ] 

for e in range(0, len(a), 4): 
    for i in a[e:e+4]: 
     print i, 
    print 
+0

我不敢相信我沒有嘗試嵌套循環。回想起來很明顯。感謝您的迅速回復。 – Clay

0

添加一個檢查,上面寫着:if len(a)<4 then pop len(a)-1