m0_58313777 2022-09-27 21:13 采纳率: 72.1%
浏览 51
已结题

python代码也不会写 numpy

假如我有个区间
a=np.array([1,2,3,4,5,6,7,8,9,10])
b=np.array([3,7])
我怎么才可以把向量a分成三类
一类为a1=[1,2,3] 一类为a2=[3,4,5,6,7],最后一类为a3=[7,8,9,10]呢
就是怎么用b来分割a呀?
求解答

  • 写回答

5条回答 默认 最新

  • chuifengde 2022-09-27 21:32
    关注
    import numpy as np
    import more_itertools as mi
    
    
    a=np.array([1,2,3,4,5,6,7,8,9,10])
    b=np.array([3,7])
    
    res = list(mi.split_when(a, lambda x, y: x in b))
    result = [res[i] if i == 0 else [b[i-1]] + res[i] for i in range(len(res ))]
    print(result)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 创建了问题 9月27日