2014-03-04 47 views
1

您好,我有一个快速问题,我似乎无法解决。将列表拆分成两个单独的列表,由python中的每个其他项目

我有一个列表:

a = [item1, item2, item3, item4, item5, item6] 

我想一切其他项目到这个列表分成两个独立的人这样认为:

b = [item1, item3, item5] 
c = [item2, item4, item6] 
+0

[Python程序将列表拆分为两个具有交替元素的列表]的可能重复(http://stackoverflow.com/questions/1442782/python-program-to-split-a-list-into-two-lists -with-alternating-elements) – devnull

回答

6

使用切片,指定步:

b,c = a[::2], a[1::2] 
+0

你想要的结果是zip(b,c)。 – holdenweb

+1

对不起 - 我在回答另一个问题:-)。您的解决方案非常棒 - 有投票权。 – holdenweb

0

使用过滤器是一种选择:

a = [item1, item2, item3, item4, item5, item6] 
b = filter(lambda x: a.index(x) % 2 == 0, a) 
c = filter(lambda x: a.index(x) % 2 != 0, a) 

编辑:这将需要元素是唯一的,效率低下。

+0

如果列表包含相同的项目,并且即使所有列表元素都是唯一的,它都不起作用,但它以二次时间而不是线性运行。 – user2357112

+0

同意。接得好。 – shaktimaan

相关问题