【问题标题】:Splitting a list into two seperate lists, by every other item in python将列表拆分为两个单独的列表,由python中的每个其他项目
【发布时间】:2014-04-05 09:43:05
【问题描述】:

您好,我有一个快速的问题,我似乎无法解决。

我有一个清单:

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

我想将这个列表分成两个单独的列表,按其他所有项目,例如:

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

【问题讨论】:

标签: python list


【解决方案1】:

使用过滤器是一种选择:

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)

编辑:这将要求元素是唯一的并且效率低下。

【讨论】:

  • 如果列表包含相等的项目,这不起作用,即使所有列表元素都是唯一的,它也以二次时间而不是线性时间运行。
【解决方案2】:

使用切片,指定一个步骤:

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

【讨论】:

  • 你想要的结果就是 zip(b, c)。
  • 抱歉 - 我在回答另一个问题 :-)。您的解决方案很棒 - 赞成。
猜你喜欢
  • 2016-08-02
  • 2014-11-17
  • 2014-03-21
  • 1970-01-01
  • 2021-03-27
  • 2017-08-19
  • 2018-11-01
  • 2021-10-26
  • 1970-01-01
相关资源
最近更新 更多