python3列表推导式矩阵转置_python3进阶之推导式1之列表(list)推导式(comprehensions)...
1.前言
推导式,英文名字叫comprehensions,注意与comprehension(理解)只有s字母之差。推导式又可以叫解析式,推导式可以从一种数据序列构建新的数据序列的结构体。推导式分为,列表推导式,字典推导式,嵌套列表推导式,本节介绍列表推导式,其他后续介绍.
2.列表推导式概念
它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,是另一个新列表,原列表保持不变。在这个以if和for语句为上下文的表达式运行完成之后产生。
写法模式:[expr for value in collection if condition]
if过滤条件,取决于实际应用是否需要,可有可无
3.实例:
示例1:
#输出30以内被4整除的数,各自加0.5
list1=[i+0.5for i in range(30)if i%4==0]
print(list1)
# [0.5, 4.5, 8.5, 12.5, 16.5, 20.5, 24.5, 28.5]
对比for循环代码为:
list2=[]
for i in range(30):
if i%4==0:
list2.append(i+0.5)
print(list2)
# [0.5, 4.5, 8.5, 12.5, 16.5, 20.5, 24.5, 28.5]
示例2:
# 将列表中长度大于4的字母大写,长度小于或等于4的字母小写
name1= ['Bob','tom','alice','Jerry','Wendy','Smith','liuhu']
name2=[name.upper() for name in name1 if len(name)>4]
print(name2)
name3=[name.lower() for name in name1 if len(name)<=4]
print(name3)
name4=name2.extend(name3)
print(name4)
print(name2)
# ['ALICE', 'JERRY', 'WENDY', 'SMITH', 'LIUHU']
# ['bob', 'tom']
# None
# ['ALICE', 'JERRY', 'WENDY', 'SMITH', 'LIUHU', 'bob', 'tom']
注意:name4为空,写法需要更正
还有更简单的方法,在列表推导式中使用if else语句:
name5= ['Bob','tom','alice','Jerry','Wendy','Smith','liuhu']
name6=[name.upper()if len(name)>4 else name.lower() for name in name5]
print(name6)
# ['bob', 'tom', 'ALICE', 'JERRY', 'WENDY', 'SMITH', 'LIUHU']
示例3:
# 与zip结合
a = [ -6, -7, -8, -9, -10]
b = [1, 2, 3, 4, 5]
xy = [[x, y] for x, y in zip(a, b)]
print(xy)
# [[-6, 1], [-7, 2], [-8, 3], [-9, 4], [-10, 5]]
示例4:
# 支持多层for循环,将一个嵌套列表转换成一个一维列表。
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
b = [j for i in a for j in i]
print(b)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
示例5:
m,n中矩阵元素的乘积玩法;
m = [[1,2,3],[4,5,6],[7,8,9]]
n = [[2,2,2],[3,3,3],[4,4,4]]
# 矩阵行与行相乘
hc=[m[row][col]*n[row][col] for row in range(3) for col in range(3)]
print(hc)
# [2, 4, 6, 12, 15, 18, 28, 32, 36]
# 矩阵相乘
jc=[[m[row][col]*n[row][col] for col in range(3)] for row in range(3)]
print(jc)
# [[2, 4, 6], [12, 15, 18], [28, 32, 36]]
# 矩阵列与列乘
lc=[[m[row][col]*n[row][col] for row in range(3)] for col in range(3)]
print(lc)
# [[2, 12, 28], [4, 15, 32], [6, 18, 36]]
python3列表推导式矩阵转置_python3进阶之推导式1之列表(list)推导式(comprehensions)...相关推荐
- c++矩阵转置_python3 单行代码实现矩阵相乘
Python中有许多模块用来进行科学与数学的运算. 例如,numpy就是其中的一个,而且numpy中就有大量.好使的矩阵乘法的函数. 即便如此,我们还是可以探究一下如何用Python的自带函数,在一行 ...
- 列表推导式 python原理_Python进阶-列表推导式详解总结
列表推导式并不是什么特别的技术,它只是一种创建列表的简洁方法,目的是为了让大家写程序时更方便更快捷,写出更简洁的代码 初识列表 现在请创建一个list,元素为1到9的整数,先用普通方法做 lst = ...
- python3中zip函数_用python实现矩阵转置,python3 中zip()函数
前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...
- python顺序表转置_Python:二维列表下标互换方式(矩阵转置)
Python:二维列表下标互换方式(矩阵转置) 发布时间:2020-08-20 04:13:38
- 使用JsonParser流式解析json,并使用DataFrame进行矩阵转置。
需求:将一个结构化不太好的原始的大json文件,转为CSV文件,有{{}}嵌套也有[[ ]]嵌套. 思路: 1 .肯定不能使用原始的LIst Map- 2. 尽量减少对line 的遍历. 3. 可适当 ...
- python转置矩阵代码_python 矩阵转置
用python怎么实现矩阵的转置 只能用循环自己写算法吗 自带函数有可以算的吗 或者网上的算法可以用的 python矩阵转置怎么做? 5.矩阵转置 给定:L=[[1,2,3],[4,5,6]] 用zi ...
- 在matlab表示特殊矩阵,MATLAB特殊矩阵以及矩阵转置
特殊矩阵 通用特殊矩阵 zeros函数:产生全0矩阵,即零矩阵. ones函数:产生....1矩阵,即幺矩阵. eye函数:产生对角线为1的矩阵,当矩阵是方正时,得到单位矩阵. rand函数:产生(0 ...
- python中矩阵的转置_[转]Python中的矩阵转置
Python中的矩阵转置 via 需求: 你需要转置一个二维数组,将行列互换. 讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8 ...
- python3类的继承详解_python3 多重继承机制
由于python中包含多重继承机制,那么子类在多重继承中,到底用的是哪一个超类的方法就是大家关心的问题,之前在查阅已有书籍无果后,只得去翻官方文档与博客,终于得解,于是在此总结归纳. 全称 方法解析顺 ...
最新文章
- 复旦的新衣再登Nature!穿在身上能为手机充电,可水洗可弯折,刀戳车撵都不坏...
- 《大话数据结构》读书笔记
- bmob php支付,基于Bmob在小程序端实现一键支付
- python sklearn.neural_network.MLPClassifier() 神经网络改变模型复杂度的四种方法
- [待解决]报错的脚本
- 护士计算机等级考试报名时间2015,湖南大学2015年9月全国计算机等级考试报名时间...
- 手机单选按钮 html5,@html剃刀单选按钮mvc5(@html razor radio buttons mvc5)
- 怎么判断自己适不适合读博士?
- java软件开发ea介绍_开发说明 — Eacloud 1.0 documentation
- 【视频】Vue作者分享:Vue 3.0 进展
- 表情识别(四)--多网络级联表情识别
- 拓端tecdat|R语言生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素
- 深度学习行人检测简介_深度学习简介
- 帆软教程:报表数据钻取
- Windows 下使用 Mingw32-make 来执行 Makefile示例
- JavaScript练习题
- 《富爸爸,穷爸爸》这本书有何价值?
- 剁手节致敬!听当年的老人讲述阿帕网(互联网前身)诞生的故事
- xxl-job集成钉钉群告警
- 求(2Y-4)²-4(Y-2)(3Y+7)≥0得解
热门文章
- Deprecated: Function ereg_replace() is deprecated
- HOWTO: 判断全角和半角
- Spring Boot系列教程八: Mybatis使用分页插件PageHelper
- Dubbo搭建监控中心
- oracle 全局id,基于SnowFlake 全局ID 生成器 go-id-worker
- 天线下倾角示意图_《天线和下倾角.ppt
- 3d文件与html结合,js和HTML5怎么结合?
- Java中怎样创建数据库_在java中怎样创建MySQL数据库列表给个例子 爱问知识人
- 算法学习之路|蒜头君的新游戏1
- android自学之旅——layout资源文件