二维列表

  • 一、概念
  • 二、创建二维列表
    • 1、追加一维列标来生成二维列标
    • 2、直接赋值生成二维列表
  • 三、一维列标与二维列表的转换
    • 1、一维列表转换成二维列表
    • 2、二维列表转换成一维列表
    • 3、利用NumPy实现数组的变维操作
      • (1)一维数组变成二维数组
      • (2)二维数组转换成一维数组
  • 四、访问二维列表
    • 1、访问行
    • 2、访问元素
    • 3、NumPy二维数组的访问

一、概念

二维列表的元素还是列表(列表的嵌套),称之为二维列表。
需要通过行标和列标来访问二维列表的元素

二、创建二维列表

1、追加一维列标来生成二维列标

  • 生成一个4行3列的二维列表
row1 = [3, 4, 5]
row2 = [1, 5, 9]
row3 = [2, 5, 8]
row4 = [7, 8, 9]
matrix = []
matrix.append(row1)
matrix.append(row2)
matrix.append(row3)
matrix.append(row4)
print(matrix)

输出结果:

[[3, 4, 5], [1, 5, 9], [2, 5, 8], [7, 8, 9]]

2、直接赋值生成二维列表

  • 定义一个3行4列的二维列表
matrix = [[], [], []]
matrix[0] = [3, 4, 5, 6]
matrix[1] = [8, 7, 9, 5]
matrix[2] = [0, 2, 5, 8]
print(matrix)

输出结果:

[[3, 4, 5, 6], [8, 7, 9, 5], [0, 2, 5, 8]]

三、一维列标与二维列表的转换

1、一维列表转换成二维列表

  • 将1到24的全部数字按顺序放到一个4行6列的二维列表里
# 将1到24的全部数字按顺序放到一个4行6列的二维列表里
nums = []
for i in range(1, 25):nums.append(i)martix = []
for k in range(4):row = []for j in range(1, 7):row.append(j + 6 * k)martix.append(row)for arr in martix:print(arr)

输出结果:

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

2、二维列表转换成一维列表

  • 将一个3行5列的二维列表扁平化一维列表
# 将一个3行5列的二维列表扁平化一维列表
nums = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
arr = []
for i in nums:for j in i:arr.append(j)
print(arr)

输出结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

3、利用NumPy实现数组的变维操作

  • 利用NumPy数组提供的 reshape(m, n) 实现数组的变维

(1)一维数组变成二维数组

In [31]:import numpy as npIn [32]:arr1 = np.arange(1,25)  # arange() 创建一个等差数组In [33]:arr2 = arr1.reshape(4, 6)  # reshape()一维转二维In [34]:arr2
Out[34]:
array([[ 1,  2,  3,  4,  5,  6],[ 7,  8,  9, 10, 11, 12],[13, 14, 15, 16, 17, 18],[19, 20, 21, 22, 23, 24]])In [35]:arr2 = arr1.reshape(3, 8)In [36]:arr2
Out[36]:
array([[ 1,  2,  3,  4,  5,  6,  7,  8],[ 9, 10, 11, 12, 13, 14, 15, 16],[17, 18, 19, 20, 21, 22, 23, 24]])

(2)二维数组转换成一维数组

In [36]:arr2
Out[36]:
array([[ 1,  2,  3,  4,  5,  6,  7,  8],[ 9, 10, 11, 12, 13, 14, 15, 16],[17, 18, 19, 20, 21, 22, 23, 24]])In [37]:arr1 = arr2.reshape(1, 24)[0]In [38]:arr1
Out[38]:
array([ 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、访问行

In [36]:arr2
Out[36]:
array([[ 1,  2,  3,  4,  5,  6,  7,  8],[ 9, 10, 11, 12, 13, 14, 15, 16],[17, 18, 19, 20, 21, 22, 23, 24]])In [39]:arr2[1]
Out[39]: array([ 9, 10, 11, 12, 13, 14, 15, 16])

2、访问元素

In [40]:arr2
Out[40]:
array([[ 1,  2,  3,  4,  5,  6,  7,  8],[ 9, 10, 11, 12, 13, 14, 15, 16],[17, 18, 19, 20, 21, 22, 23, 24]])In [41]:arr2[1][2]  # 第2行第3列
Out[41]: 11

3、NumPy二维数组的访问

In [42]:import numpy as npIn [43]:arr2
Out[43]:
array([[ 1,  2,  3,  4,  5,  6,  7,  8],[ 9, 10, 11, 12, 13, 14, 15, 16],[17, 18, 19, 20, 21, 22, 23, 24]])In [44]:arr2[1]  # 访问行
Out[44]: array([ 9, 10, 11, 12, 13, 14, 15, 16])In [45]:arr2[:, 0]  # 访问列
Out[45]: array([ 1,  9, 17])In [46]:arr2[2, 3]  # 访问元素
Out[46]: 20

Python 二维列表相关推荐

  1. 案例演示Python二维列表与Java二维数组

    1.Python二维列表案例演示 运行程序,结果如下: 2.案例演示Java二维数组 package net.hw.test;/*** 功能:二维数组用法示例* 作者:华卫* 日期:2013年12月1 ...

  2. Python 二维列表按多列排序 反向排序

    Python 二维列表按多列排序 (有多个元素需要排序 代码 代码 两种方法均可 raw_list = [[6,2,'c'],[4,5,'b'],[7,8,'a']]sorted_list = sor ...

  3. Python二维列表转换为一维列表

    Python二维列表转换为一维列表 Python二维数组转换为一维数组 二维转一维 # 第一种写法 拆解的写法a = [] ab = [[1,2,3], [5,8], [7,8,9]] for ite ...

  4. Python二维列表赋值问题

    Python二维列表的赋值问题 使用该方法建立的二维列表,对a[0][0]进行赋值1,结果第一列全部被赋值为1: >>> a = [[0]*5]*5 >>> a [ ...

  5. Python 二维列表操作

    Python 二维列表操作 创建二维列表对象 初始化一个2*3尺寸大小的全零二维列表 获取二维列表行元素的个数 获取二维列表总元素个数 今天介绍一下 Python中二维列表的一些操作. 创建二维列表对 ...

  6. python二维列表

    python二维列表 1. 本质 2. 创建二维列表 3. "读" 二维列表 4. "写" 二维列表 5. 遍历二维列表 6. 练习1 7. 练习2 1. 本质 ...

  7. python二维列表转置

    python 二维列表转置 def transpose(self, matrix):new_matrix = []for i in range(len(matrix[0])):matrix1 = [] ...

  8. python二维列表转一维列表

    list_ = [[1,2,3], [5,8], [7,8,9]] 法一 [i2 for i1 in list_ for i2 in i1] 法二 sum(list_,[]) 法三 from tkin ...

  9. python 二维列表 替换元素

    记录一个小方法 在使用列表的浅拷贝: [[0]*n]*m或 [[i for i in range(n)]]*m,时 python二维列表在替换时会出现下面的问题 z=[[0]*3]*3 z[0][0] ...

  10. python 二维列表切片_Python中mutable与immutable和二维列表的初始化问题

    初始化一个shape为(3,3)的二维列表,正确的写法是这样的: 但是,如果写成这样: a = [[None] * 3] * 3print(a) # 输出 : [[None, None, None], ...

最新文章

  1. Python加密—AES加密(2)
  2. 『OpenCV3』滤波器实现及使用滤波器降噪
  3. 运放的主要参数详细介绍
  4. 依赖注入通俗解释_我如何向团队解释依赖注入
  5. java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...
  6. c# 使用GDAL处理大图
  7. 09Linux虚拟机快照
  8. .net Core 介绍
  9. 【深度学习】什么是深度学习-2
  10. Linux7(CentOs7.5)安装ssh、和修改ssh端口号
  11. ARTS打卡10-抓住海森堡Bug
  12. win10+ubuntu16双系统卸载流程及问题总结
  13. 微信三方平台授权登录
  14. dnf超时空漩涡副本路线流程图_DNF超时空漩涡副本怎么过_DNF超时空漩涡副本快速达成图文攻略...
  15. 根据父母身高预测儿子身高
  16. 快速给图片加水印的方法
  17. 黑苹果 惠普笔记本电池补丁_笔记本的黑苹果之路
  18. resulful规范_ResultFul API
  19. 我们为什么选择计算机专业?为什么学习编程?
  20. 助力企业设备上云,京东云上物联网产品重磅发布

热门文章

  1. 杨辉三角形 (蓝桥杯) JAVA
  2. 多功能智能感应台灯设计(硬件)
  3. 四大行计算机待遇,Re: 四大行大概的待遇,不要再猜了,没意思(转载) - 找工作啦(Job)版 - 北大未名BBS...
  4. Scipy、Numpy实现曲线拟合
  5. iOS中内存管理问题
  6. Nova Cell V2
  7. Numpy矩阵归一化
  8. Adobe Photoshop CC 2019画板背景色白底如何去掉?
  9. 模拟《飞越星空》屏保
  10. php 元组,tuple(元组)