【问题标题】:Split list of lists by pattern按模式拆分列表列表
【发布时间】:2017-06-15 02:56:27
【问题描述】:

我想通过检查每个子列表的第一个元素是否为“0”来拆分列表列表,即

original_list = [[0,ab],[1,cd],[1,ef],[0,gh],[1,ij]]

我希望我的结果列表是:

result = [[ab,cd,ef],[gh,ij]]

我想我需要使用字典,但是在 Python 中最有效的方法是什么?

非常感谢!

【问题讨论】:

  • StackOverflow 是一个代码编写论坛。请展示您的作品,以便我们提供帮助。
  • 你有没有尝试过?首先制定一个可行的解决方案。
  • 我确实尝试了很多事情(通过使用标志非常接近)但被卡住了,这就是我寻求帮助的原因。反正下次会小心点。

标签: python list split slice


【解决方案1】:

根据您所说,这可以解决您的问题:

original_list = [[0,'ab'],[1,'cd'],[1,'ef'],[0,'gh'],[1,'ij']]

result = []
temp = []
checker = 0
for item in original_list:
    if item[0] >= checker:
        checker = item[0]
    else:
        result.append(temp)
        checker = 0
        temp = []
    temp.append(item[1])

result.append(temp)

【讨论】:

  • 非常感谢@Boris,这行得通!检查器是我缺少的部分。
猜你喜欢
  • 2016-01-17
  • 2019-11-20
  • 1970-01-01
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-26
  • 1970-01-01
相关资源
最近更新 更多