python使用笔记002
一、字符串常用方法
1 s = ' ha.hahaha.'
2 print(s.count('a'))#找某一个元素在字符串里出现的次数
3 print(s.index('a'))#找某一个元素的下标,如果出现多次取第一次出现的下标
4 print(s.index('a',2))#从指定的位置开始找
5 print(s.index('f')) #找不存在的元素报错 7 print(s.find('f')) #跟index一样,找不存在的元素,会返回-1
8 print(s.strip())#默认去掉字符串两边的空格和换行符\n
9 print(s.strip('.'))#去掉两边指定的字符串
10 print(s.lstrip())#去掉左边的空格和换行符
11 print(s.rstrip())#去掉右边的空格和换行符
1 s1 = '18612341234sasfdfsFEFRERR'
2 print(s1.startswith('186'))#判断以什么开头,如果正确返回True,如果错误返回False
3 print(s1.endswith('2'))#判断以什么结尾,如果正确返回True,如果错误返回False
4 print(s1.lower())#将字符串全部转为小写
5 print(s1.upper())#将字符串全部转为大写
6 print(s1.islower())#判断字符串是否全部小写
7 print(s1.isupper())#判断字符串是否全部大写
1 s2 = ['1','2','3','4','5','6','10','11','12','123','1234']
2 s3 = '1'
3 print(s3.zfill(4))#用来补零的,传的参数是总的长度
4 for i in s2:
5 print(i.zfill(4))
1 s4 = 'ma1111 r113232 ry'
2 s5 = 'lf,fd,wq,er,oi,fer'
3 s6 = 'fd,rere,df'
4 print(s5.split(','))#分割字符串
5 print(s6.split())#什么都不传,默认是以空格来分割,指定的分割符不存在,则直接把整个元素放list里
6 print(s4.capitalize())#首字母大写
7 print(s4.replace('1','5',2))#替换(被替换的值,替换后的值,替换的次数默认是全部替换)
8 print(s4.isdigit())#判断是否为纯数字
9 print(s4.center(50,'*'))#指定长度,字符串居中
10 print(s4.isspace())#判断是否为空格
1 s7 = ['fd','fdsf','rrewr','rewrw']
2 s8 = [1,2,3,4,5,6]
3 print(','.join(s7))#将list里面的元素用什么连接起来,变成一个字符串
4 print(','.join(s8))#如果list里的元素是int类型的,会报错
5 s9 = 'fdsfsfsfsfsfsrewrewr'
6 print(','.join(s9))#只要是可以遍历的都可以连接
1 s1 = '编号是:{name},{age}'
2 print(s1.format(name='xiaolin',age=19))#字符串格式化
3 s2 = '编号是:{name},{age}'
4 print(s2.format_map({'name':'cjxxl1213','age':18}))#字符串格式化,传参为字典
1 s1 = 'fdsfsdfsrewrwe12'
2 print(s1.isalpha())#如果是大小写字母,汉字返回True,其他字符串返回False
3 print(s1.isalnum())#如果是大小写字母,汉字,数字返回True,其他字符串返回False
二、元组
1 l = (1,2,3)#元组tuple,不能修改
2 print(l[0])
3 #l[0] = 3#这样会报错
4 print(l[0])
5 #比如定义一个连接数据库,不能修改,就可以用元组
6 dbinfo = ('ip','3306','user','password')
7 print(dbinfo.index('ip')) #找下标
8 print(dbinfo.count('ip')) #统计元组中出现的次数
9
10 l2 = (1) #这个是int类型
11 print(type(l2))
12
13 l3 = (1,)
14 print(type(l3)) #元组如果只有一个元素时,要加,
三、集合
集合(set)天生可以去重,集合是无序的
1 #set
2 #1、集合天生可以去重
3 #2、集合是无序的
4 s = {1,2,3,4,5,6,7,7,7,6,6,8,9}
5 l = [1,2,3,4,5,6,7,7,7,6,6,8,9]
6 s1 = {} #不是集合,是空的字典
7 s2 = set()#定义一个空的集合
8 print(s)
9 print(l)
10 #给list去重
11 l = list(set(l))
12 print(l)
13
14 s.add(10)#添加元素
15 print(1)
16 s.update({8,9,10,11,12})#把另外一个集合的加入这个集合里面
17 print(s)
18 s.remove(4)#删除指定元素
19 print(s)
20 s.pop()#随机删除一个元素
21 print(s)
22
23
24 #关系测试 交集,并集,差集,对称差集
25 l1 = [1,2,3,4]
26 l2 = [2,3,6,7]
27 l1 = set(l1)
28 l2 = set(l2)
29 print(l1 & l2)#取交集,就是两个集合里相同的元素
30 print(l1.intersection(l2))#取交集,就是两个集合里相同的元素
31
32 print(l1.union(l2))#取并集,就是两个集合合并到一起
33 print(l1 | l2)#取并集,就是两个集合合并到一起
34
35 print(l1 - l2)#取差集,l1中存在,l2中不存在的
36 print(l1.difference(l2))
37
38 print(l1^l2)#对称差集,把a集合和b集合里相同的元素去掉,剩下的叫对称差集
39 print(l1.symmetric_difference(l2))
40
41 a = {1,2,3,4}
42 b = {2,3}
43 print(a.issuperset(b)) #判断l1是否为l2的父集
44 print(b.issubset(a))#判断l2是否为l1的子集
四、其他小知识
4.1 切片
切片是list范围取值的一种方式
1 #切片是list范围取值( 1-5)的一种方式
2 l = list(range(1,11))#1-10
3 print(l)
4 print(l[0:5])#取前面5个,切片的下标顾头不顾尾
5 print(l[:6])#取前面5个,前面一个元素是0,可以不写
6 print(l[5:11])#取后面5个
7 print(l[5:])#取后面5个,:后面的元素不写默认取到末尾
8 print(l[0:11:2])#2-step 步长
9 print(l[::-1])#步长为负数是从后往前取
10 print(l[0:11:-1])#步长为负数,list的下标就变为-10~-1,这个取不到值
11 print(l[-1:-11:-1])#步长为负数,list的下标就变为-10~-1
12
13 '''
14 [1,2,3,4,5,6,7,8,9,10]
15 -10-9-8-7-6-5-4-3-2-1
16 1、如果步长为负数的话,就从后面往前取了
17 2、前面指定范围用的下标也得写负数
18 '''
19
20 #元组也可以用切片取值
21 t = (1,2,3)
22 print(t[::1])
23
24 #字符串也可以用切片取值
25 s = 'fdsfsfsfsfs'
26 print(s[::-1])
4.2 简化代码的小技巧
1、非空即真,非0即真
1 True
2 False
3 s=''#False
4 l=[]#False
5 d={}#False
6 t=()#False
7 se=set()#False
8 num1=1#true
9 num2=0#false
10 l1=['']#true
11
12 username = 'fdsfksj'
13 #常规代码
14 if username != '':
15 print('注册账号不为空')
16 #简化后的代码
17 if username:#注册账号不为空,则继续验证
18 print('注册账号不为空111')
python使用笔记002的更多相关文章
- [Python学习笔记-002] lambda, map, filter and reduce
1. lambda lambda, 即匿名函数,可以理解为跟C语言的宏类似.例如: >>> max = lambda x, y: x if x > y else y >& ...
- Python学习笔记002
字符编码:把二进制字符翻译成字符 ASCII码表 256 一个字节,8个比特 支持中文: GB2312 GBK1.0 GB18030 BIG5(台湾) unicode UTF-8 开头定义 ...
- Web Scraping with Python读书笔记及思考
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python datetime笔记
python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
随机推荐
- GO语言常用标准库04---flag读取命令行参数
package main import ( "flag" "fmt" "math" "os" ) /* go build ...
- 自定义pass编写
自定义pass编写 TVM是一个框架,抽象了机器学习加速器的异质性.有时,用户可能需要自定义一些分析和IR转换,使TVM适应自己的专用硬件.本文可帮助用户在TVM中编写自定义pass. 先决条件 ...
- CEVA引入新的可配置传感器集线器DSP架构
CEVA引入新的可配置传感器集线器DSP架构 CEVA introduces new configurable sensor hub DSP architecture 在一个将多个传感器设计成几乎所有 ...
- 137. 只出现一次的数字 II
2021-04-30 LeetCode每日一题 链接:https://leetcode-cn.com/problems/single-number-ii/ 方法1:使用map记录每个数出现的次数,再找 ...
- WebRTC 传输安全机制第二话:深入显出 SRTP 协议
通过 DTLS 协商后,RTC 通信的双方完成 MasterKey 和 MasterSalt 的协商.接下来,我们继续分析在 WebRTC 中,如何使用交换的密钥,来对 RTP 和 RTCP 进行加密 ...
- Mac下安装及配置Appium环境
candiceli Mac下安装及配置Appium环境 我是小白,自己研究appium好几周了. 一开始按照同事这篇文章设置Mac下的环境,http://www.cnblogs.com/tangd ...
- MySQL零散知识点(01)
内容概要 --- 表字段操作补充(掌握) --- python操作MySQL(掌握) --- 视图(了解) --- 触发器(了解) --- 存储过程(了解) --- 事务(掌握) --- 内置函数(了 ...
- spring赌上未来的一击:WebFlux性能实测
最近花了一点时间系统的测试验证了在SpringBoot框架下使用SpringMVC和Spring WebFlux两种框架开发接口,对比了响应时间以及压测吞吐量的区别. WebFlux&Spri ...
- 分布式系统ID的生成方法之UUID、数据库、算法、Redis、Leaf方案
一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以这种情况下我们并没有对此给予太多 ...
- 【模板】Linux下输出文件的对比
命令格式: diff+[参数]+[文件1或目录1]+[文件2或目录2] 命令参数: 指定要显示多少行的文本.此参数必须与-c或-u参数一并使用. -a或--text diff预设只会逐行比较文本文件. ...