Python中的[:n],[::n],[:,:,n],[...,n]都是什么?

编写不易如果觉得不错,麻烦关注一下~

参考:https://ask.hellobi.com/blog/wangdawei/36627

其实我也没有运行一遍,但是感觉挺全的。大家如果发现错误,可以指出,我就更新在下面的空白处。

目前我看出了一个错误是。这里关键的一句是a = np.arange(120).reshape(2,3,4,5)     a[[0,1],[1,2]] = 1。可以这么理解。a[[我],[],...],我所在的位置就是维度顺序所在的位置。大括号里面的第一个小括号指的是第一维度的索引号,在a中第一维度是2,所以索引号是0,1。以此类推,大括号里面的第二个小括号指的是第二维度的索引号,在a中第二维度是3,所以索引号是0,1,2。如果后续再没有小括号,就默认all 。a[[0,1],[1,2]] = 1,则此句话的翻译,取第1维度的第0索引号和第1索引号,取第2维度的第1索引号和第2索引号   交集。就是下面的结果。上面链接的结果是错误的。为此,再展示一个结果

a = np.arange(120).reshape(2,3,4,5)
a
Out[31]: 
array([[[[  0,   1,   2,   3,   4],
         [  5,   6,   7,   8,   9],
         [ 10,  11,  12,  13,  14],
         [ 15,  16,  17,  18,  19]],
        [[ 20,  21,  22,  23,  24],
         [ 25,  26,  27,  28,  29],
         [ 30,  31,  32,  33,  34],
         [ 35,  36,  37,  38,  39]],
        [[ 40,  41,  42,  43,  44],
         [ 45,  46,  47,  48,  49],
         [ 50,  51,  52,  53,  54],
         [ 55,  56,  57,  58,  59]]],
       [[[ 60,  61,  62,  63,  64],
         [ 65,  66,  67,  68,  69],
         [ 70,  71,  72,  73,  74],
         [ 75,  76,  77,  78,  79]],
        [[ 80,  81,  82,  83,  84],
         [ 85,  86,  87,  88,  89],
         [ 90,  91,  92,  93,  94],
         [ 95,  96,  97,  98,  99]],
        [[100, 101, 102, 103, 104],
         [105, 106, 107, 108, 109],
         [110, 111, 112, 113, 114],
         [115, 116, 117, 118, 119]]]])
a[[0,1],[1,2]] = 1
a
Out[33]: 
array([[[[ 0,  1,  2,  3,  4],
         [ 5,  6,  7,  8,  9],
         [10, 11, 12, 13, 14],
         [15, 16, 17, 18, 19]],
        [[ 1,  1,  1,  1,  1],
         [ 1,  1,  1,  1,  1],
         [ 1,  1,  1,  1,  1],
         [ 1,  1,  1,  1,  1]],
        [[40, 41, 42, 43, 44],
         [45, 46, 47, 48, 49],
         [50, 51, 52, 53, 54],
         [55, 56, 57, 58, 59]]],
       [[[60, 61, 62, 63, 64],
         [65, 66, 67, 68, 69],
         [70, 71, 72, 73, 74],
         [75, 76, 77, 78, 79]],
        [[80, 81, 82, 83, 84],
         [85, 86, 87, 88, 89],
         [90, 91, 92, 93, 94],
         [95, 96, 97, 98, 99]],
        [[ 1,  1,  1,  1,  1],
         [ 1,  1,  1,  1,  1],
         [ 1,  1,  1,  1,  1],
         [ 1,  1,  1,  1,  1]]]])
a = np.arange(120).reshape(2,3,4,5)
a[[0,1],[1],[1]] = 1
a
Out[38]: 
array([[[[  0,   1,   2,   3,   4],
         [  5,   6,   7,   8,   9],
         [ 10,  11,  12,  13,  14],
         [ 15,  16,  17,  18,  19]],
        [[ 20,  21,  22,  23,  24],
         [  1,   1,   1,   1,   1],
         [ 30,  31,  32,  33,  34],
         [ 35,  36,  37,  38,  39]],
        [[ 40,  41,  42,  43,  44],
         [ 45,  46,  47,  48,  49],
         [ 50,  51,  52,  53,  54],
         [ 55,  56,  57,  58,  59]]],
       [[[ 60,  61,  62,  63,  64],
         [ 65,  66,  67,  68,  69],
         [ 70,  71,  72,  73,  74],
         [ 75,  76,  77,  78,  79]],
        [[ 80,  81,  82,  83,  84],
         [  1,   1,   1,   1,   1],
         [ 90,  91,  92,  93,  94],
         [ 95,  96,  97,  98,  99]],
        [[100, 101, 102, 103, 104],
         [105, 106, 107, 108, 109],
         [110, 111, 112, 113, 114],
         [115, 116, 117, 118, 119]]]])

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值