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日

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi