一、字符串常用方法

 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的更多相关文章

  1. [Python学习笔记-002] lambda, map, filter and reduce

    1. lambda lambda, 即匿名函数,可以理解为跟C语言的宏类似.例如: >>> max = lambda x, y: x if x > y else y >& ...

  2. Python学习笔记002

    字符编码:把二进制字符翻译成字符 ASCII码表    256    一个字节,8个比特 支持中文: GB2312 GBK1.0 GB18030 BIG5(台湾) unicode UTF-8 开头定义 ...

  3. Web Scraping with Python读书笔记及思考

    Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...

  4. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  5. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  6. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  7. python datetime笔记

    python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...

  8. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  9. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

随机推荐

  1. [ Java面试题 ]Java 开发岗面试知识点解析

    如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向. 在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Jav ...

  2. (最新)VS2015安装以及卸载过程——踩坑实录

    前言 Visual Studio (简称VS)是微软公司旗下最重要的软件集成开发工具产品.是目前最流行的 Windows 平台应用程序开发环境,也是无数人学习编程的入门软件之一.Visual Stud ...

  3. 定位服务API案例

    定位服务API案例 要使用定位服务API,需要确保设备已经下载并安装了HMS Core服务组件,并将Location Kit的SDK集成到项目中. 指定应用权限 Android提供了两种位置权限: A ...

  4. 目标检测中特征融合技术(YOLO v4)(上)

    目标检测中特征融合技术(YOLO v4)(上) 论文链接:https://arxiv.org/abs/1612.03144 Feature Pyramid Networks for Object De ...

  5. 基于NVIDIA GPUs的深度学习训练新优化

    基于NVIDIA GPUs的深度学习训练新优化 New Optimizations To Accelerate Deep Learning Training on NVIDIA GPUs 不同行业采用 ...

  6. 新的微芯片MCU增加了来自外部闪存的安全引导保护

    新的微芯片MCU增加了来自外部闪存的安全引导保护 New Microchip MCU Adds Secure Boot Protection from External Flash 对于从外部SPI闪 ...

  7. halcon——缺陷检测常用方法总结(频域空间域结合)

    摘要 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等. 缺陷检测算法不同于尺寸.二维码.OCR等算法.后者应用场景比较单一,基本都是 ...

  8. 深入理解java虚拟机笔记补充-JVM常见参数设置

    JVM 常见参数设置 内存设置 参数 -Xms:初始堆大小,JVM 启动的时候,给定堆空间大小. -Xmx:最大堆大小,如果初始堆空间不足的时候,最大可以扩展到多少. -Xmn:设置年轻代大小.整个堆 ...

  9. 「题解」USACO15FEB Fencing the Herd G

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 P3122.USACO 官网. 题意概述 给你平面上的一些点和直线,有两种操作: 新加入一个点 \((x,y)\): ...

  10. RobotFramework常用断言关键字

    变量或者关键字内容判断关键字 1.内容包含或者不包含:should contain . should not contain 与should contain x times *** Test Case ...