說我有一個列表:[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肯定......雖然這很微不足道,但我不認爲它會爲問題增加很多價值。 –