python各种小知识
一、三元表达式
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各种小知识的更多相关文章
- 简述Python入门小知识
如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...
- 【python学习小知识】求绝对值和numpy和tensor的相互转换
一.python求绝对值的三种方法 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs 1.条件判段,判断大于0还是小于0,小于0则输出相反数即可 # 法1:使用条件判断求绝对值 ...
- python字典小知识
字典的小知识dic = {"name": "tom", "age": 23, "price": 110}# 01:提取键 ...
- python基础小知识,is和==的区别,编码和解码
1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = ...
- 【转】python的小知识
1. 如何反序访问一个序列(how do I iterate over a sequence in reverse order) 如果序列是list,则使用list.reverse()即可将序列反序. ...
- [Python][小知识][NO.2] Python 字符串跨行连接,或拆分为多行显示
1.前言 又是一个字符串很长,但又是一种格式的小字符串直接连接而成的大字符串. 这么我们拆成多行,即美感,又易于我们修改. 例如 文件选择框中的 通配符: wildcard = "Pytho ...
- python小技巧 小知识
python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc ...
- python之数字类型小知识
数字是表示计数的抽象事物,也是数学运算和推理的基础,所以,生活中数字是生活中无处不在的,那么,在python语言中运用数字有哪些小知识呢,不妨花点时间看一下这篇博文,牢记这些小知识. 整数类型中四种进 ...
- 一个python爬虫小程序
起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的 ...
- 12岁的少年教你用Python做小游戏
首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
随机推荐
- 6_SSM
一. ssm整合 1.1 项目创建 1.1.1 创建Maven项目 创建一个普通的Maven-web项目,名称为ssm 记得勾选上Create from archetype然后选择后缀为maven-a ...
- 【设计模式】Java设计模式 - 命令模式
Java设计模式 - 命令模式 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! 目录 Ja ...
- C++面向对象编程之类的写法
1.头文件中的防卫式声明 例如自己要建复数complex类,可以建立一个complex.h的头文件. 头文件中必须先写防卫式声明: #ifndef __COMPLEX__ #define __COMP ...
- javaweb 导出文件名乱码的问题解决方案
fileName = new String(fileName.getBytes("ISO8859-1"), "UTF-8"); 或者 String finalF ...
- Oracle 同义词详解(synonym)
Oracle 同义词详解(synonym) 一.Oracle同义词概念 Oracle 数据库中提供了同义词管理的功能.同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性.在使 ...
- Vue3 SFC 和 TSX 方式调用子组件中的函数
在开发中会遇到这样的需求:获取子组件的引用,并调用子组件中定义的方法.如封装了一个表单组件,在父组件中需要调用这个表单组件的引用,并调用这个表单组件的校验表单函数或重置表单函数.要实现这个功能,首先要 ...
- JUC(3)
文章目录 1.集合类不安全 2.在高并发情况下arraylist()并不安全 3.高并发下set并不安全 3.测试map(高并发情况下出现问题) 1.集合类不安全 2.在高并发情况下arraylist ...
- 【第1篇】人工智能(AI)语音测试原理和实践---宣传
前言 本文主要介绍作者关于人工智能(AI)语音测试的各方面知识点和实战技术. 本书共分为9章,第1.2章详细介绍人工智能(AI)语音测试各种知识点和人工智能(AI)语音交互原理:第3.4章介绍人工智 ...
- Netty学习记录-入门篇
你如果,缓缓把手举起来,举到顶,再突然张开五指,那恭喜你,你刚刚给自己放了个烟花. 模块介绍 netty-bio: 阻塞型网络通信demo. netty-nio: 引入channel(通道).buff ...
- shell脚本之一键部署openV~P~N
提前准备:/root目录下: checkpsw.sh ## 官方提供的自定义脚本,可在http://openvpn.se/files/other/checkpsw.sh下载 openvpn@.serv ...