说我有一个列表:[1, 2, 3, 4, -1, 5, 6, 7, -1, 0, 0, 3, 2, 1]
基于值将列表拆分成更小的列表?
我想这个名单拆分为使用值-1
或0, 0
作为分隔符:
[[1, 2, 3, 4], [5, 6, 7], [], [3, 2, 1]]
(注意空第三列表)
如何我会达到这个目标吗?我目前的解决方案只是一个微不足道的循环,但我想知道是否为任何长度的分隔符提供了更为pythonic的解决方案(使用列表解析)?
当前解决方案的要求(混乱和哈克:P)
string = '|'.join([str(x) for x in data]).replace('-1', ',').replace('0|0', ',')
buckets = [x.split('|') if y for x in string.split(',')]
如何发布您的解决方案? – mhawke
如果创建一个字符串是可以接受的(这是特定用例),你可以使用它... –
@mhawke肯定......虽然这很微不足道,但我不认为它会为问题增加很多价值。 –