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. Python--day69--ORM的F查询和Q查询

    F查询和Q查询 F查询 在上面所有的例子中,我们构造的过滤器都只是将字段值与某个常量做比较.如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的比较.F() 的实例可 ...

  2. springboot 实现 aop

    pom.xml 导入 springboot aop 依赖 <dependency> <groupId>org.springframework.boot</groupId& ...

  3. 2019-9-2-本文说如何显示SVG

    title author date CreateTime categories 本文说如何显示SVG lindexi 2019-09-02 12:57:38 +0800 2018-2-13 17:23 ...

  4. 添加gitignore文件后使其生效

    https://www.cnblogs.com/AliliWl/p/7880243.html 遇到的问题 我们发现在添加.gitignore文件后,当我们想push文件的时候,我们声明的忽略文件还是会 ...

  5. SpringSecurity登录原理(源码级讲解)

    一.简单叙述 首先会进入UsernamePasswordAuthenticationFilter并且设置权限为null和是否授权为false,然后进入ProviderManager查找支持Userna ...

  6. element 级联选择器使用

    <el-cascader v-model="organSelecList" :change-on-select="true" :options=" ...

  7. java 内省综合案例和Beanutils工具包

    演示用eclipse自动生成 ReflectPoint类的setter和getter方法. 直接new一个PropertyDescriptor对象的方式来让大家了解JavaBean API的价值,先用 ...

  8. H3C 端口绑定典型配置举例

  9. javascript异步编程 Async/await

    Async/await Async/await 在学习他之前应当补充一定的 promise 知识 它是一种与 promise 相配合的特殊语法,目前被认为是异步编程的终级解决方案 值得我们每一个人学习 ...

  10. JQ绑定事件的叠加和解决,index()方法的坑

    JQ绑定事件的叠加和解决,index()方法的坑 前言 在做过几个不大不小的项目后,发现技术这种东西,必须要多多实践,才能发现各种问题,理论的知识掌握的再好终究是纸上谈兵. 因此目前感觉有两点是必须要 ...