Denalsa 2022-05-16 11:41 采纳率: 100%
浏览 24
已结题

简单分割列表,求解!

分割这个列表? 原列表A,是变量。0的位置时刻变化
A=[0,1,2,0,3,4,5,0,6,7,8,0,9,0]   
我想要达到的结果
b=[1,2]
c=[3,4,5]
d=[6,7,8]
e=[9]
我尝试过的方法 有点繁琐,请问又更好的方法嘛
a=[0,1,2,0,3,4,5,0,6,7,8,0,9,0]

a=''.join('%s'%i for i in a )
a=a.split('0')
c=[]
for i in a:
    if len(i) ==0:
        continue
    else:
        c.append(list(i))
c=[list(map(int,item)) for item in c]
print(c)
  • 写回答

1条回答 默认 最新

  • chuifengde 2022-05-16 12:21
    关注
    import more_itertools as mi 
    
    s=[0,1,2,0,3,4,5,0,6,7,8,0,9,0]
    resu =[i for i in mi.split_at(s, lambda x : x == 0) if i]
    print(resu)
    
    """--result
    [[1, 2], [3, 4, 5], [6, 7, 8], [9]]
    """
    不导库,你上面的简写成:
    s=[0,1,2,0,3,4,5,0,6,7,8,0,9,0]
    
    a = ''.join(map(str, s)).split('0')
    c = [list(map(int, i)) for i in map(list, a) if i] 
    print(c)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月26日
  • 已采纳回答 5月18日
  • 创建了问题 5月16日

悬赏问题

  • ¥15 TLE9879QXA40 电机驱动
  • ¥15 clion的参数提示怎么关闭
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀
  • ¥15 mifare plus卡认证
  • ¥30 LSTM预测结果是一条直线