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 ...
随机推荐
- .Net Redis实战——使用Redis构建Web应用
示例介绍 示例1:借助Redis实现购物车功能 示例2:Redis实现网页缓存和数据缓存 借助Redis实现购物车功能 每个用户的购物车都是一个散列,散列存储了商品ID与商品订购数量之间的映射.订购商 ...
- C#解决WebClient不能下载https网页内容
在下载之前,执行以下代码即可: if (stUrl.Substring(0, 5) == "https") { // 解决WebClient不能通过https下载内容问题 Serv ...
- Django(49)drf解析模块源码分析
前言 上一篇分析了请求模块的源码,如下: def initialize_request(self, request, *args, **kwargs): """ Retu ...
- MindSpore技术理解(下)
MindSpore技术理解(下) 4 GraphEngine 由于深度学习算法需要进行大量的计算,很多公司都设计了自己的深度学习专用处理器(如谷歌的张量处理器.阿里巴巴的含光等),华为也发布了自主设计 ...
- 在cuDNN中简化Tensor Ops
在cuDNN中简化Tensor Ops 在Tesla V100 GPU中引入神经网络模型以来,神经网络模型已迅速利用NVIDIA Tensor Cores进行深度学习.例如,基于Tensor Core ...
- TVM安装常用问题
TVM安装常用问题 如何添加新的硬件后端 如果硬件后端支持LLVM,则可以通过设置正确的目标三元组来直接生成代码target. 如果目标硬件是GPU,请尝试使用cuda,opencl或vulkan后端 ...
- P1831 杠杆数(数位Dp)
题目描述 如果把一个数的某一位当成支点,且左边的数字到这个点的力矩和等于右边的数字到这个点的力矩和,那么这个数就可以被叫成杠杆数. 比如$4139$就是杠杆数,把3当成支点,我们有这样的等式:$4 \ ...
- 【SQLite】教程09-VBA读取SQLite数据之ODBC,及中文乱码问题
VBA使用ODBC Driver for SQLite读SQLite 如下图有这么一个SQlite数据库,我们要读取它 需要先安装ODBC,可以从这里下载: SQLite 3 ODBC Driver ...
- 如何回答面试中问到的Hibernate和MyBatis的区别
这边主要是写给那些准备去面试的(没什么经验的)应聘者看的,为了在面试中更好的回答这个问题,我做一个简单的梳理和总结. 作为一名职场新人,经历过多次的面试,由于在简历中提及了Hibernate和MyBa ...
- CMake 两种变量原理
目录 [TOC] 1.两种变量的定义参考 2.两种变量的作用域原理及使用 1.Normal Variables (1).包含 add_subdirectory().function().(本质是值拷贝 ...