Denalsa 2022-08-11 10:43 采纳率: 100%
浏览 23
已结题

python,运用np,内置函数的切片

a是可变的数组,给a,或者b切片。

a=[1,2,0,4,5,6,0,0,0,0,7,0,8,9]
b=np.array(a)

输出结果是:被0隔开的非0数组。
例,a的输出结果是:

c=[[1,2],[4,5,6],[7],[8,9]]
  • 写回答

1条回答 默认 最新

  • a5156520 2022-08-11 11:05
    关注

    我使用的是循环遍历列表,然后逐个判断是否需要添加到相应列表来完成题目要求。代码如下:

    参考链接:

    python中的array是什么意思_python中数组(numpy.array)的基本操作_BE东欲的博客-CSDN博客
    Python教程:在Python中遍历列表详解_站长在线的博客-CSDN博客_python 遍历列表

    import numpy as np  #https://blog.csdn.net/weixin_42577243/article/details/112864277
    a=[1,2,0,4,5,6,0,0,0,0,7,0,8,9]
    b=np.array(a)
    
    #print(a)
    
    c=[]  #存放最终结果的列表
    t=[] #存放被0分隔的数字的列表t
    
    #https://blog.csdn.net/u010292470/article/details/121090914
    for i in a:  #遍历原始列表
        
        if(i!=0):   #如果原始列表当前值不是0,则添加到分隔数字的列表t
            t.append(i)
            #print("t.append(i)",i)
        else :  #如果当前是数字是0,则判断与执行是否将分隔数字的列表t添加到最终结果列表c
        #https://www.jianshu.com/p/3a7ffd6884d8
            if len(t)!=0: #如果分隔数字的列表c有值,则添加到最终结果列表,同时将分隔数字的列表t置为空列表,以存放下一组数字
                #print(t)
                
                c.append(t)
                t=[]
                
    #判断最后一组分隔数字列表t是否有值,有值则将最后一组数字添加到最终结果列表c
    if len(t)!=0:
        c.append(t)
        
    #打印结果    
    print(c)
        
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月20日
  • 已采纳回答 8月12日
  • 修改了问题 8月11日
  • 创建了问题 8月11日

悬赏问题

  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?