Python 二维列表

Python 二维列表一 概念二维列表的元素还是列表 列表的嵌套 称之为二维列表 需要通过行标和列标来访问二维列表的元素二 创建二维列表 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 pr

一、概念

二、创建二维列表

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 np In [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 np In [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 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199063.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午1:56
下一篇 2026年3月26日 下午1:56


相关推荐

  • 如何正确使用Cursor,12条建议

    如何正确使用Cursor,12条建议

    2026年3月16日
    3
  • DNS递归和迭代过程详解

    DNS递归和迭代过程详解目录DNS原理解析DNS进化史DNS结构DNS查询流程DNS服务搭建DNS相关软件的安装服务器搭建规划手把手教你搭建基本DNS服务器搭建主DNS服务器搭建从DNS服务器参考文献DNS原理解析DNS进化史etc/hosts–>NIS–>DNS起初域名和ip地址之间的解析都是完全存放在一个名为hosts的文件当中…

    2022年6月6日
    51
  • pygame安装(超级详细)

    pygame安装(超级详细)安装时是需要设置python环境变量的,下载python的时候底下有个小框框(没有默认选中)AddPython3.7toPATH需要选择的,如果没有选择的话,需要自己设置,我一般比较懒,卸载了python重新下载的,让下载器自动设置。然后是python版本问题有人疑问这是64位还是32位,看那个[64bit]是64位,至于后面的on32是在windows上使用的意思,在Linux上…

    2022年5月24日
    204
  • gradle配置详解

    gradle配置详解版权声明 本文为章鱼哥原创文章 若要转载 请注明出处 https blog csdn net article details gradle 配置总结 gradle 是一个基于 jvm 的富有突破性的构建工具 gradle 正迅速成为许多开源项目和前沿企业构建系统的选择 同时也在挑战遗留的自动化构建项目 优点 1 一个像 ant 一样 通用的灵活的构建工具

    2026年3月19日
    3
  • js设置定时从一个页面跳转到另一个页面

    js设置定时从一个页面跳转到另一个页面主要实现点击链接进入视频介绍 设置定时 然后跳转到另一个页面代码如下 lt scripttype text javascript gt functionjump location http localhost 8080 Socket first page jsp functionurl setTimeout jumpu

    2025年7月3日
    6
  • 腾讯混元基础模型表现优异

    腾讯混元基础模型表现优异

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号