Skip to main content
 首页 » 编程设计

python之根据某些字符将列表拆分为更小的列表

2025年05月04日14mfrbuaa

我有一个来自 csv 文件的列表,即

list_from_csv= ["","","1","2","","","3","4"] 

对于我的用例,我需要得到一个如下所示的列表

input_list =[[1,2],[3,4]] 

所以基本上我想根据“”分隔符分隔列表 我最初尝试过这样的事情

for i in list_from_csv: 
    if i != "": 
       input_list.append(i) 

然而,这给了我一个输出 [1,2,3,4] python 中是否有技巧或命令来实现这一点。另请注意,我是 python 的新手,因此我们将不胜感激。另外,我试着到处寻找这个,但找不到这样的例子

请您参考如下方法:

这是使用 itertools.groupby 实现的一种方法:

from itertools import groupby 
 
lst= ["","","1","2","","","3","4"] 
result = [[int(i) for i in g] for k, g in groupby(lst, lambda x: x!='') if k] 
print(result) 
# [[1, 2], [3, 4]] 

项目根据它们是否为空字符串进行分组。空字符串组仅使用其组键过滤,该组键为 False。