一、三元表达式

1. 简化步骤1:代码简单且只有一行,可以直接在冒号后面编写

三元表达式:

数据值1+ if 条件+else 数据值2
条件成立则使用数据值1,条件不成立则使用数据值2;

当结果是二选一的情况下,使用三元表达式较为简便;

不推荐多个三元表达式嵌套

二、各种生成式/表达式/推导式

1. 列表生成式

例:给列表中所有人名的后面加上_NB的后缀

name_list = ['Alex', 'kevin', 'oscar', 'tony', 'jerry']

方法1:for循环

name_list = ['Alex', 'kevin', 'oscar', 'tony', 'jerry']
new_list = []
for name in name_list:
new_list.append(name+'_NB')
print(new_list) #['Alex_NB', 'kevin_NB', 'oscar_NB', 'tony_NB', 'jerry_NB']

方法2:列表生成式

简单情况:

new_list = [name + '_NB' for name in name_list]    # ['Alex_NB', 'kevin_NB', 'oscar_NB', 'tony_NB', 'jerry_NB']

复杂情况

new_list = [name + "_NB" for name in name_list if name == 'Alex']
print(new_list) new_list = ['大佬' if name == 'Alex' else '小赤佬' for name in name_list if name != 'jack']
print(new_list)

2. 字典生成式

例:把字符串s1 = 'hello world'拆分成单个的字符并加上编号

方法1:for 循环

s1 = 'hello world'
for i,j in enumerate(s1): # 默认从0开始编号
print(i,j) s1 = 'hello world'
for i,j in enumerate(s1,start=100): # 从100开始编号
print(i,j)

方法2:字典生成式

d1 = {i: j for i, j in enumerate('hello')}
print(d1)

 3. 集合生成式

res = {i for i in 'hello'}
print(res)

注意:没有元组生成式

三、 匿名函数

没有名字的函数,需要使用关键字lambda,一般不单独使用,需要结合其他函数一起使用

语法结构:

lambda 形参:返回值

例:求两个数的和

四、常见内置函数

1.map() 映射

2. max()\min()

注意:字典使用max()和min()时,是将键转化成ASCII码之后进行比大小

我们要拿到数值进行比较大小,可以使用匿名函数,最后返回的结果是最大的值所对应的键:

或者自己定义一个函数,通过函数拿到健所对应的值,比较大小之后再返回最大值所对应的键

 3. reduce

传多个值,返回一个值

reduce在Python3.x  已经被移到 functools 模块里,如果我们要使用,需要引入 functools 模块来调用 reduce() 函数

python各种小知识的更多相关文章

  1. 简述Python入门小知识

    如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...

  2. 【python学习小知识】求绝对值和numpy和tensor的相互转换

    一.python求绝对值的三种方法 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs 1.条件判段,判断大于0还是小于0,小于0则输出相反数即可 # 法1:使用条件判断求绝对值 ...

  3. python字典小知识

    字典的小知识dic = {"name": "tom", "age": 23, "price": 110}# 01:提取键 ...

  4. python基础小知识,is和==的区别,编码和解码

    1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = ...

  5. 【转】python的小知识

    1. 如何反序访问一个序列(how do I iterate over a sequence in reverse order) 如果序列是list,则使用list.reverse()即可将序列反序. ...

  6. [Python][小知识][NO.2] Python 字符串跨行连接,或拆分为多行显示

    1.前言 又是一个字符串很长,但又是一种格式的小字符串直接连接而成的大字符串. 这么我们拆成多行,即美感,又易于我们修改. 例如 文件选择框中的 通配符: wildcard = "Pytho ...

  7. python小技巧 小知识

    python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc ...

  8. python之数字类型小知识

    数字是表示计数的抽象事物,也是数学运算和推理的基础,所以,生活中数字是生活中无处不在的,那么,在python语言中运用数字有哪些小知识呢,不妨花点时间看一下这篇博文,牢记这些小知识. 整数类型中四种进 ...

  9. 一个python爬虫小程序

    起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的 ...

  10. 12岁的少年教你用Python做小游戏

    首页 资讯 文章 频道 资源 小组 相亲 登录 注册       首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...

随机推荐

  1. Java SpringBoot 项目构建 Docker 镜像调优实践

    PS:已经在生产实践中验证,解决在生产环境下,网速带宽小,每次推拉镜像影响线上服务问题,按本文方式构建镜像,除了第一次拉取.推送.构建镜像慢,第二.三-次都是几百K大小传输,速度非常快,构建.打包.推 ...

  2. HashMap底层原理及jdk1.8源码解读

    一.前言 写在前面:小编码字收集资料花了一天的时间整理出来,对你有帮助一键三连走一波哈,谢谢啦!! HashMap在我们日常开发中可谓经常遇到,HashMap 源码和底层原理在现在面试中是必问的.所以 ...

  3. echarts pie饼状图绑定点击事件

    var valueData = [ {value: 33,name: '诊所'}, {value: 29,name: '汽车服务相关'}, {value: 27, name: '洗衣店'}, {val ...

  4. DML添加数据-删除数据-修改数据

    DML添加数据 语法 insert into 表名(列名1,列名2,列名n) values(值1,值2,值n) 列:INSERT INTO day02(id,NAME,age) VALUES(1,&q ...

  5. hadoop集群配置全过程

    一.nat配置1.虚拟机->编辑->虚拟网络编辑器->更改设置->移除原VMnet8->加新的VMnet8->点击NAT模式 桥接模式->NAT模式,初始化一 ...

  6. Linux系统管理_磁盘管理——敬请期待!!!

    df 显示磁盘空间使用情况 -a 全部文件系统列表 -h 以方便阅读的方式显示 -T 列出文件系统类型 du 查看目录和文件的磁盘空间使用情况 -a 显示目录中所有文件大小 -h 以易读方式显示文件大 ...

  7. 7 步保障 Kubernetes 集群安全

    随着 Kubernetes 的发展和改进,新的安全威胁和风险也逐渐向 K8s 转移,因此 K8s 安全性变得越来越重要,而保护 K8s 集群已成为 DevOps 团队不容忽视的重要任务.K8s 有多种 ...

  8. 【单元测试】Junit 4(二)--eclipse配置Junit+Junit基础注解

    1.0 前言 ​ 前面我们介绍了白盒测试方法,后面我们来介绍一下Junit 4,使用的是eclipse(用IDEA的小伙伴可以撤了) 1.1 配置Junit 4 1.1.1 安装包 我们需要三个jar ...

  9. ubuntu+Django + nginx + uwsgi 部署

    ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...

  10. MybatisPlus Lambda表达式 聚合查询 分组查询 COUNT SUM AVG MIN MAX GroupBy

    一.序言 众所周知,MybatisPlus在处理单表DAO操作时非常的方便.在处理多表连接连接查询也有优雅的解决方案.今天分享MybatisPlus基于Lambda表达式优雅实现聚合分组查询. 由于视 ...