python array中关于[a,b,c]的使用方式

 更新时间:2024年02月24日 09:24:16   作者:Melo丶  
这篇文章主要介绍了python array中关于[a,b,c]的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

不论是用numpy或者是tensorflow,在机器学习的过程中常常会用到[]来提取array中的元素,但是再找了很多的资源之后发现并没有比较好的解释

我在尝试之后给出list[]的用法和解析,希望能帮到大家

以这样的数据为例

list1 = np.arange(24).reshape([2,3,4])
‘'‘
 [[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
  '‘'

1.[a,b,c]类型

在array中取到了位置[a,b,c]的元素,不多做解释。

print(list1[1,1,1]) 
# 17

2.[]中含有‘:’符号

只有:时,代表取某一维度的全部元素

:前后有数字时,相当于把那维当做一个list,1:3就代表取索引1,2的元素

其中的关系给出两个例子,大家可以思考其中的原理

print(list1[:,:,1]) # 代表取出前两个维度的所有元素,只要第三维度的1索引元素
‘'‘
[[ 1  5  9]
 [13 17 21]]
'‘'

print(list1[:,1:3,-1]) # 取出第一个维度所有元素,第二个维度的索引1和2的元素,第三个维度倒数第一个的元素
'''
[[ 7 11]
 [19 23]]
'''

3.None出现的时候

None是用来增加维度的,在哪里出现就给哪里增加1维

print(list1)
print(list1[None]) # 相当于在最前面增加一维
print(list1[None].shape)
'''
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
[[[[ 0  1  2  3]
   [ 4  5  6  7]
   [ 8  9 10 11]]

  [[12 13 14 15]
   [16 17 18 19]
   [20 21 22 23]]]]
(1, 2, 3, 4)
'''

print(list1)
print(list1[:,:,None])
print(list1[:,:,None].shape)

‘'‘
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
[[[[ 0  1  2  3]]

  [[ 4  5  6  7]]

  [[ 8  9 10 11]]]


 [[[12 13 14 15]]

  [[16 17 18 19]]

  [[20 21 22 23]]]]
(2, 3, 1, 4)
'‘'

None的作用于np.newaxis的作用是一样的

下面给出一个例子,大家可以体会一下:

print(list1)
print(list1[None,])
print(list1[None,].shape)
print(list1[np.newaxis,:])
print(list1[np.newaxis,:].shape)

‘'‘
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
[[[[ 0  1  2  3]
   [ 4  5  6  7]
   [ 8  9 10 11]]

  [[12 13 14 15]
   [16 17 18 19]
   [20 21 22 23]]]]
(1, 2, 3, 4)
[[[[ 0  1  2  3]
   [ 4  5  6  7]
   [ 8  9 10 11]]

  [[12 13 14 15]
   [16 17 18 19]
   [20 21 22 23]]]]
(1, 2, 3, 4)
'‘'

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。                                                           

相关文章

  • Python urllib库如何添加headers过程解析

    Python urllib库如何添加headers过程解析

    这篇文章主要介绍了Python urllib库如何添加headers过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 对Python生成器、装饰器、递归的使用详解

    对Python生成器、装饰器、递归的使用详解

    今天小编就为大家分享一篇对Python生成器、装饰器、递归的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python计算任意多边形间的重叠面积的示例代码

    Python计算任意多边形间的重叠面积的示例代码

    最近有个作业,给定的数据为多边形的各个顶点,为N*2的矩阵,N 为多边形的顶点个数,计算任意两个多边形重叠面积计算,本文就来详细的介绍一下
    2021-08-08
  • python 实现图与图之间的间距调整subplots_adjust

    python 实现图与图之间的间距调整subplots_adjust

    这篇文章主要介绍了python 实现图与图之间的间距调整subplots_adjust,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python StrEnum基本概念和使用场景分析

    Python StrEnum基本概念和使用场景分析

    StrEnum是Python枚举家族的一个强大补充,特别适合处理字符串常量,它结合了枚举的类型安全性和字符串的灵活性,使得在许多场景下的编程变得更加简洁和安全,本文将介绍StrEnum的基本概念和使用场景,并通过示例代码来展示它的实际应用,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • python+PyQt5 左右声道测试源代码

    python+PyQt5 左右声道测试源代码

    这篇文章主要介绍了python+PyQt5 左右声道测试源代码,左声道,人机交互测试,点击右边听到的对应序号按钮,对python左右声道测试感兴趣的朋友一起看看吧
    2024-02-02
  • Python3爬虫带上cookie的实例代码

    Python3爬虫带上cookie的实例代码

    在本篇文章里小编给各位分享的是一篇关于Python3爬虫带上cookie的实例代码内容,需要的朋友们可以学习下。
    2020-07-07
  • 社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)

    社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)

    pycharm的newproject左侧没有出现项目选项的情况下,创建Django项目的解决方法./社区版pycharm创建django项目的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-09-09
  • python 实现在txt指定行追加文本的方法

    python 实现在txt指定行追加文本的方法

    下面小编就为大家分享一篇python 实现在txt指定行追加文本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • pytest解读fixtures之Teardown处理yield和addfinalizer方案

    pytest解读fixtures之Teardown处理yield和addfinalizer方案

    这篇文章主要为大家介绍了pytest解读fixtures之Teardown处理yield和addfinalizer的方案实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论