2020-01-14

相信很多初学小伙伴都会遇到二维列表求解所有元素之和问题,下面给出两种两种常见的求和方法。

方法1:

思想:遍历整个二维列表元素,然后将所有元素加起来

 def Sum_matrix(matrix):
sum=0
for i in range(len(matrix)):
for j in range(len(matrix[i])):
sum+=matrix[i][j]
return sum #测试
matrix=[[1, 2, 3], [4, 5, 6, 4], [7, 8, 9]]
Sum_matrix(matrix) # a=[[22,4,5],[3],[5,5,82,4,7]]
Sum_matrix(a) #

说明:上述方法可以求解常见二维列表所有元素之和,不受列表各行长度影响

方法2

思想:采用列表句柄(在一篇博客看到这样称呼)来求解,思想还是将所有元素加起来,但实现方法与方法1稍微有点不同

 def Sum_matrix(matrix):
sum=0
for i in matrix:
for j in i:
sum+=j
return sum #测试
matrix=[[1, 2, 3], [4, 5, 6, 4], [7, 8, 9]]
Sum_matrix(matrix) # a=[[22,4,5],[3],[5,5,82,4,7]]
Sum_matrix(a) #

说明:可以看到,方法2实现方式更简单,更灵活。与方法1相比,在方法2中,遍历时的 i 代表二维列表的一整行,j表示一行中各个元素,而方法1中遍历时的 i 和 j 用来表示元素位置。同样方法2不受列表各行长度影响。

关于i和j 用来表示各个元素值,可看下面例子

matrix=[[1, 2, 3], [4, 5, 6, 4], [7, 8, 9]]
>>> for i in matrix:
print(i)
for j in i:
print(j) #输出
[1, 2, 3] #i=0,matrix第一行matrix[0]
1
2
3
[4, 5, 6, 4]#i=1,matrix第二matrix[1]
4
5
6
4
[7, 8, 9] #i=2,matrix第三行matrix[2]
7
8
9

应该很清晰了吧!

总结:以上两种方法相信在实际操作中均会采用,方法1采用元素下表形式来访问元素,方法2采用二维列表句柄形式访问,简单灵活。两种方法相对都较容易,希望小伙伴们都能掌握,也欢迎大家一块留言讨论学习

python二维列表求解所有元素之和的更多相关文章

  1. Python 二维列表

    一维列表,可以使用 * 快速创建list1=[0]*Width r = [0]*5 print r r[1]= 1 print r [0, 0, 0, 0, 0] [0, 1, 0, 0, 0] 扩展 ...

  2. 避免python二维列表append一维列表时浅拷贝问题

    原始问题: 由于浅拷贝原因,使得当a列表变动时,b列表也发生变动 解决办法: 如上图所示,添加的时候添加新列即可,类似新建一个列表,使得与原有列表a不共用同一个内存

  3. python构造二维列表以及排序字典

    1. 构造二维列表: 比如我现在需要一个100*100的二维列表: a = [] for i in range(100): a.append([]) for j in range(100): a[i] ...

  4. Python创建二维列表的正确姿势

    Python创建二维列表的正确姿势 简介 Python中没有数组,使用list结构代替,并且list结构的功能更加强大: 支持动态扩容,无需担心元素过量 对list内的元素类型不做一致性约束 提供丰富 ...

  5. python创建与遍历List二维列表

    python创建与遍历List二维列表 觉得有用的话,欢迎一起讨论相互学习~Follow Me python 创建List二维列表 lists = [[] for i in range(3)] # 创 ...

  6. Python笔记25-----------创建二维列表【浅copy】和转置

    一.创建二维列表 1.二维列表创建第二维的时候,如果采用*2这种方式,这是一种浅复制的方式,同时引用到同一个list,如上图的C. 这种形式,不方便修改C[ i ][ j ]的数据,如果改C[ 0 ] ...

  7. python保存二维列表到txt文件,读取txt文件里面的数据转化为二维列表

    源码: # 读文件里面的数据转化为二维列表 def Read_list(filename): file1 = open(filename+".txt", "r" ...

  8. Python中如何将二维列表转换成一维列表

    已知:a = [(4,2,3), (5, 9, 1), (7,8,9)]希望将二维列表转换成一维列表:["4,2,3", "5, 9, 1", "7, ...

  9. python创建一个二维列表

    方法一:利用for-in语句来生成一个二维列表 a = [] 2 for i in range(10): 3 a.append([]) 4 for j in range(10): 5 a[i].app ...

随机推荐

  1. css模仿ipad的日历

    https://www.cnblogs.com/sandraryan/ 题外话之:最近的练习用js之类的写起来会简单点,但是为了巩固基础,只好html和css硬怼页面X﹏X 这是一个日历的代码 注释有 ...

  2. 2019-7-29-PowerShell-拿到显卡信息

    title author date CreateTime categories PowerShell 拿到显卡信息 lindexi 2019-7-29 10:3:35 +0800 2019-02-21 ...

  3. Koa2 遇到Method Not Allowed 获取不到返回值

    https://q.cnblogs.com/q/114462/          都来找我  Haisen‘s blogs 求求各位大神了,2点多了没解决睡不着啊,我按照网上用的koa2-cors,g ...

  4. Python--day37--多进程

    1,创建多进程(父进程和子进程) import os import time #多进程都要导入multiprocessing from multiprocessing import Process d ...

  5. Spring 面试题汇总

    1.什么是SpringSpring是一个轻量级IoC和AOP容器框架,是为Java应用程序提供基础性服务的一套框架,目的是简化企业应用程序的开发,它使得开发者只需关注业务需求. 2.Spring的优点 ...

  6. 【23.91%】【hdu 4694】Important Sisters("支NMLGB配树"后记)(支配树代码详解)

    Time Limit: 7000/7000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission( ...

  7. Delta Lake基础操作和原理

    目录 Delta Lake 特性 maven依赖 使用aws s3文件系统快速启动 基础表操作 merge操作 delta lake更改现有数据的具体过程 delta表schema 事务日志 delt ...

  8. Java虚拟机理解-内存管理

    运行时数据区域 jdk 1.8之前与之后的内存模型有差异,方法区有变化(https://cloud.tencent.com/developer/article/1470519). java的内存数据区 ...

  9. WCF 服务应用程序

    1. 创建 WCF 服务程序和客户端程序,参考如下: https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/getting-started-tut ...

  10. Nodejs模拟并发,尝试的两种解决方案

    一.准备数据库表 创建商品库存表 db_stock ,插入一条数据 DROP TABLE IF EXISTS `db_stock`; CREATE TABLE `db_stock` ( `id` ) ...