IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 多维数组索引切片 -> 正文阅读

[游戏开发]多维数组索引切片

1、二维数组

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
#[[1 2 3]
 [4 5 6]
 [7 8 9]]

#每个轴一个索引,当提供的索引数少于轴数时,缺少的索引将被视为完整切片,第一个数表示行,第二个数表示列,中间用逗号隔开

a[0,1]      #2
a[0:3,1]    #array([2, 5, 8])
a[-1]       #array([7, 8, 9])
a[:,-1]     #array([3, 6, 9])

2、三维数据

c = np.array([[(2,3,4),(5,6,7)],[(1,3,7),(9,5,3)]])
##[[[2 3 4]
  [5 6 7]]

 [[1 3 7]
  [9 5 3]]]

c.shape    #(2, 2, 3)
##...表示生成完整索引元组所需的任意数量的冒号
c[1,...]
#array([[1, 3, 7],
       [9, 5, 3]])

c[...,1]
#array([[3, 6],
       [3, 5]])

c[1,1,2]        #3

c[:,0,:] 
#array([[2, 3, 4],
       [1, 3, 7]])

3、打印数组中每个元素

c = [[2 3 4]
     [5 6 7]]
    [[1 3 7]
     [9 5 3]]

for row in c:
    print(row)
#[[2 3 4]
 [5 6 7]]
[[1 3 7]
 [9 5 3]]

for row in c.flat:
    print(row)

#2
3
4
5
6
7
1
3
7
9
5
3

4、更改数据形状

c = [[2 3 4]
     [5 6 7]]
    [[1 3 7]
     [9 5 3]]
##这三种方法都返回已修改的数组,但不更改原始数组
##展开
c.ravel()
#array([2, 3, 4, 5, 6, 7, 1, 3, 7, 9, 5, 3])

c.reshape(6,2)
#array([[2, 3],
       [4, 5],
       [6, 7],
       [1, 3],
       [7, 9],
       [5, 3]])
c.T
#array([[[2, 1],
        [5, 9]],

       [[3, 3],
        [6, 5]],

       [[4, 7],
        [7, 3]]])
c.T.shape      #(3, 2, 2)

#resize方法修改数组本身
c.resize(2,6)
print(c)
#[[2 3 4 5 6 7]
 [1 3 7 9 5 3]]

5、数据拼接

##纵向拼接使用np.vstack((a,b))或者np.row_stack((a,b))
横向拼接使用np.hstack((a,b))或者np.column_stack((a,b))

c = np.array([[(2,3,4),(5,6,7)],[(1,3,7),(9,5,3)]])    #(2,2,3)
d = np.array([[(12,14,15),(11,17,18)],[(0,0,0),(0,0,0)]])   #(2,2,3)
np.concatenate((c,d),axis=0)      #(4,2,3)
#array([[[ 2,  3,  4],
        [ 5,  6,  7]],

       [[ 1,  3,  7],
        [ 9,  5,  3]],

       [[12, 14, 15],
        [11, 17, 18]],

       [[ 0,  0,  0],
        [ 0,  0,  0]]])
np.concatenate((c,d),axis=1)  (2,4,3)
#array([[[ 2,  3,  4],
        [ 5,  6,  7],
        [12, 14, 15],
        [11, 17, 18]],

       [[ 1,  3,  7],
        [ 9,  5,  3],
        [ 0,  0,  0],
        [ 0,  0,  0]]])

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:27:07  更:2022-05-07 11:27:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:35:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码