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如何应用cx_Oracle获取oracle中的clob字段问题

    Python如何应用cx_Oracle获取oracle中的clob字段问题

    今天小编就为大家分享一篇Python如何应用cx_Oracle获取oracle中的clob字段问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • pycharm的debug调试以及异常,Python中错误的处理过程

    pycharm的debug调试以及异常,Python中错误的处理过程

    这篇文章主要介绍了pycharm的debug调试以及异常,Python中错误的处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Windows下快速配置Python+OpenCV环境指南

    Windows下快速配置Python+OpenCV环境指南

    本文介绍了如何在Windows下使用uv工具快速配置Python环境并安装OpenCV,步骤包括安装Python、uv工具、创建虚拟环境、安装OpenCV及其扩展,并验证安装,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • python数据分析之用sklearn预测糖尿病

    python数据分析之用sklearn预测糖尿病

    这篇文章主要介绍了python数据分析之用sklearn预测糖尿病,文中有非常详细的代码示例,对正在学习python数据分析的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-04-04
  • python使用xlsxwriter实现有向无环图到Excel的转换

    python使用xlsxwriter实现有向无环图到Excel的转换

    这篇文章主要为大家详细介绍了python使用xlsxwriter实现有向无环图到Excel的转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 使用Python实现自动化视频剪辑

    使用Python实现自动化视频剪辑

    在日常工作和内容创作中,视频剪辑是一项常见但耗时的任务,本文将和大家详细介绍一下如何使用Python实现视频剪辑功能,需要的可以了解一下
    2025-08-08
  • Python学习之asyncore模块用法实例教程

    Python学习之asyncore模块用法实例教程

    这篇文章主要介绍了Python学习之asyncore模块用法,主要讲述了asyncore模块的组成、原理及相关函数的用法,对于使用Python进行网络编程来说非常实用,需要的朋友可以参考下
    2014-09-09
  • Python PyAutoGUI超详细实战教程 附完整教学代码

    Python PyAutoGUI超详细实战教程 附完整教学代码

    本文将从环境搭建、基础配置、鼠标自动化、键盘自动化、屏幕操作、高级功能、实战案例七个维度展开,搭配可直接运行的教学代码,覆盖新手入门到实战应用的全部核心知识点,对Python PyAutoGUI 相关知识感兴趣的朋友跟随小编一起看看吧
    2026-02-02
  • 使用Python编写词频统计工具的示例代码

    使用Python编写词频统计工具的示例代码

    这篇文章主要为大家详细介绍了如何使用Python编写词频统计工具的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-06-06
  • 在k8s上部署pytorch分布式程序的完整步骤记录

    在k8s上部署pytorch分布式程序的完整步骤记录

    Kubernetes的核心优势在于其能够提供一个可扩展、灵活且高度可配置的平台,使得应用程序的部署、扩展和管理变得前所未有的简单下面这篇文章主要给大家介绍了关于在k8s上部署pytorch分布式程序的完整步骤,需要的朋友可以参考下
    2024-08-08

最新评论