m0_69878271 2022-05-08 20:44 采纳率: 33.3%
浏览 37
已结题

以列表中的特征值切片

问题遇到的现象和发生背景

刚自学python,在做列表切分时,想以一个特征值为节点对列表切分

问题相关代码,请勿粘贴截图
a=[0.1,0.2,0.3,0.5,0,0.3,0.7,0,0.9,0.8,0,4,0.5,0]
r = [i for i in range(len(a)) if a[i] == 0]
b=[]
for n in r:
    b=a[:n+1]
    print(b) 
运行结果及报错内容
[0.1, 0.2, 0.3, 0.5, 0]
[0.1, 0.2, 0.3, 0.5, 0, 0.3, 0.7, 0]
[0.1, 0.2, 0.3, 0.5, 0, 0.3, 0.7, 0, 0.9, 0.8, 0]
[0.1, 0.2, 0.3, 0.5, 0, 0.3, 0.7, 0, 0.9, 0.8, 0, 4, 0.5, 0]
我的解答思路和尝试过的方法

我自己写的对列表a以0为节点进行切分,我的思路是先确定列表中特征值0的索引,在对取到的索引值用for循环,但卡在了每次都是从最开始取数,没有达到我想的以0分段取值的效果,刚学python所以请求帮助,谢谢!

我想要达到的结果
[0.1, 0.2, 0.3, 0.5, 0]
[0.3, 0.7, 0]
[0.9, 0.8, 0]
[4, 0.5, 0]
  • 写回答

2条回答 默认 最新

  • 梦什 2022-05-08 22:19
    关注

    我是这样写的:能得到你要的结果

    a = [0.1,0.2,0.3,0.5,0,0.3,0.7,0,0.9,0.8,0,4,0.5,0]
    b = []
    for i in range(len(a)):
        b.append(a[i])
        if a[i] == 0:
            print(b)
            b = []
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 创建了问题 5月8日

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line