当前位置: 首页 > news >正文

建筑网站 法人签字江苏华江建设集团网站

建筑网站 法人签字,江苏华江建设集团网站,最新国际新闻大事件,苏州到深圳物流公司Python高级语 1 列表推导式1.1 什么是列表推导式1.2 列表推导式的使用 2 字典推导式2.1 什么是字典推导式2.2 字典推导式的使用 3 元组推导式4 集合推导式5 三元表达式5.1 什么是三元表达式5.2 三元表达式的使用 1 列表推导式 1.1 什么是列表推导式 列表推导式的英文&#xf…

Python高级语

  • 1 列表推导式
    • 1.1 什么是列表推导式
    • 1.2 列表推导式的使用
  • 2 字典推导式
    • 2.1 什么是字典推导式
    • 2.2 字典推导式的使用
  • 3 元组推导式
  • 4 集合推导式
  • 5 三元表达式
    • 5.1 什么是三元表达式
    • 5.2 三元表达式的使用

1 列表推导式

1.1 什么是列表推导式

列表推导式的英文(list cmprehension)是Python独有的一种语法结构,它将推导式(又称解析式)得到的各个结果组成一个新个列表,是一种非常简洁的创建列表的语法,适用于所有需要列表的场景。语法格式如下:

[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]]

1.2 列表推导式的使用

  • 优化简单for循环

for 循环代码

>>> list_1 = ['a', 'b', 'c']
>>> list_2 = []
>>> for i in list_1:
>>>     list_2.append(i * 2)>>> print(list_2)
['aa', 'bb', 'cc']

列表推导式写法

>>> list_1 = ['a', 'b', 'c']
>>> list_2 = [i * 2 for i in list_1]
>>> print(list_2)
['aa', 'bb', 'cc']# 若不想取list_1列表中的全部元素,可用if语句做过滤条件,可迭代变量也可用于if语句中
>>> list_2 = [i * 2 for i in list_1 if i != 'b']
>>> print(list_2)
['aa', 'cc']
  • 优化两层for循环
>>> list_1 = [(m, n) for m in range(3) for n in range(3)]
>>> print(list_1)
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

多层for循环一样支持if语句

>>> list_1 = [(m, n) for m in range(3) if m > 1 for n in range(3) if n > 1]
>>> print(list_1)
[(2, 2)]
>>> list_1 = [(m, n) for m in range(3) if m > 1 for n in range(3)]
>>> print(list_1)
[(2, 0), (2, 1), (2, 2)]
>>> list_1 = [(m, n) for m in range(3) for n in range(3) if m > 1 and n > 1]
>>> print(list_1)
[(2, 2)]
  • 列表推导式支持嵌套
>>> list_1 = [n + 2 for n in [m + 1 for m in range(3)]]
>>> print(list_1)
[3, 4, 5]

2 字典推导式

2.1 什么是字典推导式

字典推导式的概念与列表推导式一样,只不过返回的结果是字典。语法格式如下:

{键:值 for 迭代变量 in 可迭代对象 [if 条件表达式]}

2.2 字典推导式的使用

注意:字典中不能出现同名的 key,第二次出现就把第一个值覆盖掉了,因此 value 都是 1

>>> dict_1 = {key: value for key in range(3) for value in range(2)}
>>> print(dict_1)
{0: 1, 1: 1, 2: 1}
>>> dict_1 = {key: value for key in range(3) for value in range(3)}
>>> print(dict_1)
{0: 2, 1: 2, 2: 2}

常用场景,遍历一个具有键值关系的可迭代对象

>>> tuple_list = [('name', '张三'), ('age', 28),('class', '9701'), ('like', 'python')]
>>> dict_1 = {key: value for key, value in tuple_list}
>>> print(dict_1)
{'name': '张三', 'age': 28, 'class': '9701', 'like': 'python'}

3 元组推导式

与列表和字典推导式不同的是它不是返回一个元组,而是返回一个生成器对象,也可以叫生成器推导式,示例如下:

>>> tuple_1 = (i for i in range(5))
>>> print(tuple_1)
<generator object <genexpr> at 0x000002097F25F1D0>

并没有像我们想像的那样返回(0, 1, 2, 3, 4)这样的元组,若需返回元组加上转换函数即可:

>>> tuple_1 = (i for i in range(5))
>>> print(tuple(tuple_1))
(0, 1, 2, 3, 4)

4 集合推导式

集合推导式需要注意的是,集合是无序的,在使用时会自动去掉重复的元素。

>>> set_1 = {i for i in 'HelloWorld'}
>>> print(set_1)
{'d', 'W', 'e', 'r', 'o', 'H', 'l'}

5 三元表达式

5.1 什么是三元表达式

Python中没有像C或Java语言中的三元表达式(三目运算符)的概念,但也有类似的语法,格式如下:

if条件为True执行语句 if 条件表达式 else if条件为False执行语句

5.2 三元表达式的使用

  • 简化 if 语句
# 原 if 语句
age = 30
if age >= 18 :rs = "成年"
else:rs = "未成年"# 使用三元表达式
age = 30
rs = "成年" if age >= 18 else "未成年"
  • 返回多个语句
age = 30
rs = "成年", "大于18岁" if age >= 18 else "未成年"
print(rs)
  • 在函数中使用三元表达式
def e_num(num):return True if num % 2 == 0 else False
  • 三元表达式与 lambda一起使用
# 返回两个数的最大值
>>> max = lambda a, b: a if a > b else b
>>> print(max(10, 15))
15
>>> print(max(88, 15))
88
http://www.yayakq.cn/news/619040/

相关文章:

  • 企业建设网站注意点厦门招聘网
  • 做网站后台有前途吗旅游网站开发的结论
  • 网站紧急维护产品推广怎么做
  • 网站设计需要什么技术网站seo入门
  • 深圳建站服务公司深圳甜富设计
  • 鲜花网站设计论文济宁网站建设 水木
  • 工信和信息化部网站大数据精准获客平台
  • 贵州城乡建设官方网站男人女人做性关系网站
  • 音乐网站开发代码地接做的网站
  • 江西省住房和建设规划局局网站下载ppt模板幻灯片模板
  • 360做的网站首页在线平面图设计
  • 网站点击率如何做网站优化建设宁夏
  • 新博念 足球网站开发北京网站建设公司朝阳
  • 自己建立网站教程不用实名认证的网页游戏
  • 网站qq交谈怎么做的物联网模块
  • 求大哥给个狼站2022网站搭建品牌
  • 建设工程消防验收网站媒介
  • 黄山网站建设免费咨询大企业网站建设费用
  • 网站风格有哪些做化妆品等的网站
  • 哪些企业网站做的好自己做国外网站买衣服
  • 软件工程专业招聘网站网站购买空间多少钱
  • 百度网盘搜索引擎入口seo排名优化怎样
  • 手机网站的作用四川省建设规划局官方网站
  • 最便宜的免费建站怎么修改网站模版
  • 苏州网站建设制作设计建设通网站是筑龙网的吗
  • 个人网站如何加入百度联盟网站建设与优化推广的话术
  • 长春网站建设公司十佳做旅游网站教程
  • 网站开通wap网站开发用什么语言
  • 要怎样建立自己的网站html网站建设的步骤
  • 电商网站制作成手机app怎么做点图片连接网站