0
我有一個列表a = [1,2,3,4,5,6,7,8,9,10,11,12]
,我想從每4個元素中重複獲得前2個元素。所以結果會是這樣的:從主列表中遞歸提取子列表
b1 = [1,2]
b2 = [5,6]
b3 = [9,10]
我試圖c = [a[x:x+4] for x in range(0,len(a),4)]
但只給[1,2]
。 如何使其遞歸?
我有一個列表a = [1,2,3,4,5,6,7,8,9,10,11,12]
,我想從每4個元素中重複獲得前2個元素。所以結果會是這樣的:從主列表中遞歸提取子列表
b1 = [1,2]
b2 = [5,6]
b3 = [9,10]
我試圖c = [a[x:x+4] for x in range(0,len(a),4)]
但只給[1,2]
。 如何使其遞歸?
[a[i] for i in xrange(0, len(a)) if i % 4 < 2 ]
# [1, 2, 5, 6, 9, 10]
如果你想使一個數組的數組,使用
[[a[i], a[i + 1]] for i in xrange(0, len(a)) if i % 4 == 0]
# [[1, 2], [5, 6], [9, 10]]
如果想結果分配到三個變量,使用
b1, b2, b3 = [[a[i], a[i + 1]] for i in xrange(0, len(a)) if i % 4 == 0]
# b1 = [1, 2], b2 = [5, 6], b3 = [9, 10]
感謝。還有一件事,如果我想得到'[3,4,7,8,11,12]'? – Ibe
在第一個和第三個中更改'< 2' to '> = 2','i%4 == 0'更改爲'i%4 == 2'。 –
非常感謝。 – Ibe