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 ...
随机推荐
- 深入理解Faiss 原理&源码 (一) 编译
目录 深入理解Faiss 原理&源码 (一) 编译 mac下安装 安装mac xcode工具包 安装 openblas 安装swig 安装libomp 编译faiss 附录 深入理解Faiss ...
- MySQL 最佳实践 —— 高效插入数据
当你需要在 MySQL 数据库中批量插入数百万条数据时,你就会意识到,逐条发送 INSERT 语句并不是一个可行的方法. MySQL 文档中有些值得一读的 INSERT 优化技巧. 在这篇文章里,我将 ...
- SpringBoot 结合 Spring Cache 操作 Redis 实现数据缓存
系统环境: Redis 版本:5.0.7 SpringBoot 版本:2.2.2.RELEASE 参考地址: Redus 官方网址:https://redis.io/ 博文示例项目 Github 地址 ...
- 【无线通信篇01 | Zstack协议栈】CC2530 Zigbee Zstack协议栈组网项目及详细讲解篇
演示视频:https://www.bilibili.com/video/BV1Ew411o7Fp 物联网无线通信技术,ZigBee无线传感网络 CC2530最大的特点就是一个拥有无线收发器(RF)的单 ...
- org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element(识别不到想要的元素) 想获取 ...
- 温故而知新--day5
温故而知新--day5 ip地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.当多个设备要进行 ...
- 【科普】MySQL中DDL操作背后的并发原理
一. 简介 DQL:指数据库中的查询(select)操作. DML:指数据库中的插入(insert).更新(update).删除(delete)等行数据变更操作. DDL:指数据库中加列(add co ...
- Python常用数据结构(列表)
Python中常用的数据结构有序列(如列表,元组,字符串),映射(如字典)以及集合(set),是主要的三类容器 内容 序列的基本概念 列表的概念和用法 元组的概念和用法 字典的概念和用法 各类型之间的 ...
- Echarts中X轴坐标太密集,分段显示
在axisLabel中设置刻度间隔interval,再加上强制显示最大值showMaxLabel和最小值showMinLabel axisLabel: {//X轴文字 interval: day == ...
- 14、WindowsServer修改NTP时间同步服务器
1. 2. 3.