python:列表推导式

python中有种独特的语法:推导式,可以将代码压缩到1行,但是不使用也不影响。

有三种:列表、字典、集合(注意没有元组推导式)

列表推导式

# 1、一行代码实现1—100之和(知识点:列表推导式)
print(sum([x for x in range(1, 101)]))
# 解释:
# 列表推导式语句用[]包围,[]中先执行for循环语句,将每次循环取得的值再执行for语句之前的表达式,然后将结果放入列表中,相当于如下语句
li = []
for x in range(1, 101):li.append(x)
print(li)
print(sum(li))
# 列表推导式还支持更复杂的语句,核心是用[]将生成列表的逻辑封装起来
# 求1-100之内能被4整除,但是不能被5整除的所有数
print([x for x in range(1, 101) if x % 4 == 0 and x % 5 != 0])
# 多重循环,先执行一次外层循环,再循环内层遍历所有元素
li = [a + b for a in '123' for b in 'abc']
# 输出
['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']# 更多用法
li2 = [k+':'+v for k, v in {'name': 'kobe', 'age': '41'}.items()]
# 输出
['age:41', 'name:kobe']# 问题:有两个列表a和b,找出在a中但不在b中的元素(a有b没有),在a和b中都存在的元素(ab都有),a和b中不同的元素(a有b没有,b有a没有)
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
# 在a中但不在b中的元素(a有b没有)
li1 = [x for x in a if x not in b]
print(li1)
# 在a和b中都存在的元素(ab都有)
li2 = [x for x in a if x in b]
print(li2)
# a和b中不同的元素(a有b没有,b有a没有)
li3 = [x for x in a+b if x not in li2]
print(li3)

 

 

字典推导式

# 字典推导式(用花括号{}包围起来)
dict = {x: x*x for x in [1, 2, 3]}
# 输出
{1: 1, 2: 4, 3: 9}

 

集合推导式

# 集合推导式(也是用花括号包围,和字典推导式区别只是在for语句的前面表达式不一样,没有:)
s = {x for x in 'agjsgnjkjg' if x not in 'sgjkajhag'}
print(type(s))

 

元素推导式(没有)

# 元组推导式????(既然列表推导式用[],字典和集合推导式用{},那元组推导式当然用()了)
# 对不起么有元组推导式,圆括号在Python中被用作生成器的语法了
tup = (x for x in [1,2,3])
print(type(tup))
# 输出:<class 'generator'>,可以看到是一个生成器
# 如果非要按照上面的规律生成元组,需要显式的调用元组转换函数tuple()
tup = tuple((x for x in [1,2,3]))
print(tup)
print(type(tup))
# 输出:
# (1, 2, 3)
# <class 'tuple'>

 

转载于:https://www.cnblogs.com/gcgc/p/11589186.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF中删除打开过的图片

WPF中删除打开过的图片 原文:WPF中删除打开过的图片在WPF中&#xff0c;当我们删除打开过的图片时&#xff0c;往往会遇到"...无法删除&#xff0c;文件正在被另一个进程使用"的异常。即使当前文件是打开后关闭过的也不行。 这个问题的原因很简单&#xff0c;是因为W…

深入理解InnoDB(5)-文件系统

1. 数据库和文件系统的关系 像 InnoDB 、 MyISAM 这样的存储引擎都是把表存储在文件系统上的。当我们想读取数据的时候&#xff0c;这些存储引擎会从文件系统中把数据读出来返回给我们&#xff0c;当我们想写入数据的时候&#xff0c;这些存储引擎会把这些数据又写回文件系统。…

vim捐赠_#PayItBackwards-一位freeCodeCamp毕业生如何向事业捐赠10,000美元

vim捐赠On Monday my phone suddenly started buzzing. Shawn Wang, AKA Swyx, had just tweeted about a donation hed made to freeCodeCamp.org.星期一&#xff0c;我的电话突然开始嗡嗡作响。 Awn Swyx的Shawn Wang刚刚在推特上发布了他对freeCodeCamp.org的捐款。 I glan…

Digital River拉来Netconcepts站台 亚太营销服务升级

它是大洋彼岸的一家网络软件下载、分销商&#xff0c;很多重量级的软件行业领军企业都是其客户&#xff0c;它一直低调摸索亚太营销的路子&#xff0c;在今年九月份&#xff0c;它一改常态&#xff0c;高调宣布入华&#xff0c;三个月后&#xff0c;它带来了最新消息&#xff1…

按下按钮_按下

按下按钮Updated with the latest data: 23/8/2020更新最新数据&#xff1a;23/8/2020 As restrictions are lifted for Laois and Offaly, difficult times are set to continue for the people of Kildare, at least for another couple of weeks, as they continue to fight…

windows中怎么添加定时任务

linux中有crontab定时任务&#xff0c;很方便 其实windows也有类似的 需求&#xff1a;定时执行python脚本 1、Windows键R&#xff0c;调出此窗口&#xff0c;输入compmgmt.msc 2、 转载于:https://www.cnblogs.com/gcgc/p/11594467.html

css设置黑体宋体等(转)

代码如下: .selector{ font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu } 说明&#xff1a; 加上中文名“微软雅黑”是为了兼容opera。 MicrosoftJhengHei为微软正黑体&#xff0c;STHeiti为华文黑体&#xff0c;Mi…

重学TCP协议(7) Timestamps 选项

1.Timestamps 选项的组成部分 时间戳选项占10个字节 kind(1字节) &#xff0b; length(1字节) info (8字节)&#xff0c;其中kind8&#xff0c;length10&#xff0c;info由timestamp&#xff08;TS value&#xff09;和timestamp echo&#xff08;TS Echo Reply&#xff09;两…

sudoku代码_首席执行官可以编码吗? 在星期六晚上坐在酒吧时,从头开始观看Netlify首席执行官的Sudoku应用程序代码

sudoku代码Netlify CEO Matt Biilmann live-codes a Sudoku app using Netlify in this tutorial video. Matt shows how simple and quick it can be to create a working app using the JAMstack.在本教程视频中&#xff0c;Netlify CEO Matt Biilmann使用Netlify对Sudoku应用…

c++ 时间序列工具包_我的时间序列工具包

c 时间序列工具包When it comes to time series forecasting, I’m a great believer that the simpler the model, the better.关于时间序列预测&#xff0c;我坚信模型越简单越好。 However, not all time series are created equal. Some time series have a strongly defi…

bash 的相关配置

bash 参数自动补全 请安装 bash-completion bash 提示符 说明&#xff1a;参考文档 1. 简洁风格 if [[ ${EUID} 0 ]] ; then PS1\[\033[01;32m\][\[\033[01;35m\]\u\[\033[01;37m\] \w\[\033[01;32m\]]\$\[\033[00m\] else PS1\[\033[01;32m\][\u\[\033[01;37m\] \w\[\033[01;…

LINUX系统安装和管理

目录 一.应用程序 对比应用程序与系统命令的关系 典型应用程序的目录结构 常见的软件包装类型 二.RPM软件包管理 1.RPM是什么&#xff1f; 2.RPM命令的格式 查看已安装的软件包格式 查看未安装的软件包 3.RPM安装包从哪里来&#xff1f; 4.挂载的定义 挂载命令moun…

sql基础教程亚马逊_针对Amazon,Apple,Google的常见SQL面试问题

sql基础教程亚马逊SQL is used in a wide variety of programming jobs. Its important to be familiar with SQL if you are going to be interviewing soon for a software position. This is especially true if you are going to interview at a top tech company such as …

leetcode 1720. 解码异或后的数组(位运算)

未知 整数数组 arr 由 n 个非负整数组成。 经编码后变为长度为 n - 1 的另一个整数数组 encoded &#xff0c;其中 encoded[i] arr[i] XOR arr[i 1] 。例如&#xff0c;arr [1,0,2,1] 经编码后得到 encoded [1,2,3] 。 给你编码后的数组 encoded 和原数组 arr 的第一个元…

adobe 书签怎么设置_让我们设置一些规则…没有Adobe Analytics处理规则

adobe 书签怎么设置Originally published at Analyst Admin.最初发布于Analyst Admin 。 In my experience working with Adobe Analytics, I’ve found that Processing Rules help in some cases, but oftentimes they create more work. I try to avoid using Processing R…

详解linux下安装python3环境

1、下载python3.5源码包首先去python官网下载python3的源码包&#xff0c;网址&#xff1a;https://www.python.org/ 进去之后点击导航栏的Downloads&#xff0c;也可以鼠标放到Downloads上弹出菜单选择Source code&#xff0c;表示源码包&#xff0c;这里选择最新版本3.5.2&am…

详解spl_autoload_register()函数

http://blog.csdn.net/panpan639944806/article/details/23192267 转载于:https://www.cnblogs.com/maidongdong/p/7647163.html

上海区块链会议演讲ppt_所以您想参加会议演讲吗? 这是我的建议。

上海区块链会议演讲pptYou’ve attended a few conferences, watched a lot of presentations, and decided it’s time to give a talk of your own! As someone who has both given talks at conferences, and sat on the proposal review board for others, I’m here to te…

重学TCP协议(8) TCP的11种状态

TCP的11种状态 为了逻辑更加清晰&#xff0c;假设主动打开连接和关闭连接皆为客户端&#xff0c;被动打开连接和关闭连接皆为服务端 客户端独有的&#xff1a;&#xff08;1&#xff09;SYN_SENT &#xff08;2&#xff09;FIN_WAIT1 &#xff08;3&#xff09;FIN_WAIT2 &…

肯尼亚第三方支付_肯尼亚的COVID-19病例正在Swift增加,我们不知道为什么。

肯尼亚第三方支付COVID-19 cases in Kenya are accelerating rapidly. New cases have increased 300% month-over-month since April of this year while global and regional media have reported on the economic toll of stringent lock-down measures and heavy-handed go…