python 列表,字典,元组,字符串,常用函数
飞机票
一.列表方法
1.ls.extend(object)
向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object合并。注意:object如果是整型,必须以列表的方式传入,不可以以整型或元组的方式传入
2.ls.append(object)
将object作为一个整体插入到ls最后,object可以是字符串,元组,列表和字典
3.ls.insert(index, object)
将object作为一个整体插入到ls指定的索引位置,object可以是字符串,元组,列表和字典
4.ls.pop([index])
删除指定索引位置的元素,返回被删除的元素,如果参数为空,则默认删除最后一个索引位置的元素。注意:有返回值
5.ls.remove(value)
删除指定的元素。注意:value是序列里面的值,不是索引
6.ls.reverse()
将列表中元素进行逆向排列
7.ls.sort(cmp=None, key=None, reverse=False)
默认将列表中元素进行升序排列,可以通过reverse参数将升序设为降序
二.列表,元组公用的方法
1.ls.count(value)
统计列表中元素value的个数
2.ls.index(value, [start, [stop]])
返回列表中指定元素所在的索引位置,可以通过start和stop参数设置搜索范围。注意:如果不存在则会报出异常
三.字典方法
1.dic.clear()
删除字典中所有项
2.dic.fromkeys(S[,v])
新建字典,键为S,值为v,如果S为长字符串,返回的键为字符串中的每一个字符,值将重复。注意:dic字典中的项不会改变
3.dic.get(k[,d])
获取字典中指定键的值,如果k不属于字典中的键,则返回None。注意:相当于dic[k],但是dic[k]如果k不属于字典中的键,则报出异常
4.dic.setdefault(k[,d])
类似于dit.get(k,d)方法,如果k属于字典中的键,则返回对应的值,否则,将往字典中插入键值
5.dic.has_key(k)
返回字典中是否包含键k,返回值为True和False
6.dic.items()
以列表的形式返回字典中的键值,每一对键值存放在元组中
7.dic.keys()
以列表的形式返回字典所有键
8.dic.values()
以列表的形式返回字典中所有值(values)
9.dic.iteritems()
键值迭代器,一般用于for循环
10.dic.iterkeys()
键迭代器,一般用于for循环
11.dic.itervaleus()
值迭代器,一般用于for循环
12.dic.viewitems()
返回字典中键值的视图,单个键值对存放在元组中,所有键值对存放在列表中,返回类型为dict_items,也可以作为迭代用于for循环
13.dic.viewkeys()
返回字典中键的视图,单个键存放在元组中,所有键存放在列表中,返回类型为dict_items,也可以作为迭代用于for循环
14.dic.viewvalues()
返回字典中值的视图,单个值存放在元组中,所有值存放在列表中,返回类型为dict_items,也可以作为迭代用于for循环
15.dic.pop(k[,d])
删除字典中指定键的值,并返回被删除键的对应值
16.dic.popitem()
随机删除某个键值对,并返回被删除键的对应值,无需往方法中传入参数
17.dic.update([E, ]**F)
将字典E中的键值对更新到dic中,相当于列表dic和列表E 合并后更新到列表dic中
18.dic.copy()
浅复制:只复制字典中的父对象,对子对象采取引用的办法。改变子对象的内容会影响到复制和被复制的字典。
例:
1 a ={'name':'ali','age':20,'score':[10,20,30]}
2 b = a.copy()
3 b['name'] = 'bai'
4 b['score'].remove(20)
5 print b
6 print a
输出结果:
{'age': 20, 'score': [10, 30], 'name': 'bai'}
{'age': 20, 'score': [10, 30], 'name': 'ali'}
四.字符串方法
#字母处理
1.string.capitalize()
返回元字符串,且将字符串第一个字母转为大写,其它字母小写
2.string.title()
返回元字符串,且将字符串第一个字母转为大写,其它字母小写
3.string.swapcase()
用于对字符串的大小写字母进行转换,小写字符转为大写,大写字母转为小写
4.string.upper()
将字符串全部转为大写
5.string.lower()
将字符串全部转为小写
#去除空格或者指定字符串
1.string.strip([string])
去除字符串中首尾的字符串,不带参数默认去除空格
2.string.lstrip([string])
去除字符串左边字符串,不带参数默认去除空格
3.string.rstrip([string])
去除字符串右边字符串,不带参数默认去除空格
#格式化对齐
1.string.center(width[, fillchar])
返回一个原字符串居中对齐,width为总长度,两边用一个字符fillchar填充,如果指定的长度小于原字符串的长度则返回原字符串。注意:如果fillchar超过1个长度或为非字符串或为汉字,则会报出异常
2.string.ljust(width[, fillchar])
返回原字符串左对齐,并使用空格填充至指定长度的新字符串,如果指定的长度小于原字符串的长度则返回原字符串。注意:如果fillchar超过1个长度或为非字符串或为汉字,则会报出异常
3.string.rjust(width[, fillchar])
返回原字符串右对齐,并使用空格填充至指定长度的新字符串,如果指定的长度小于字符串的长度则返回原字符串。注意:如果fillchar超过1个长度或为非字符串或为汉字,则会报出异常
4.string.zfill()
返回指定长度的字符串,原字符串右对齐,前面填充0
#替换
1.string.replace(old, new[, count])
用新的字符替换老字符,还可以指定替换的个数,默认全部替换
2.string.expandtabs([n])
将字符串中(tab符号)\t转换成n个空格
#字符串搜索
1.string.find(sub [,start [,end]])
返回sub字符串第一次出现的索引位置,可以通过start和stop参数设置搜索范围,如果未找到sub时返回-1
2.string.rfind(sub [,start [,end]])
返回sub字符串最后一次出现的索引位置,如果没有匹配项则返回-1,可以通过start和stop参数设置搜索范围
3.string.index(sub [,start [,end]])
类似于string.find()方法。注意:未找到sub时会报出异常
4.string.rindex(sub [,start [,end]])
类似于string.rfind()方法。注意:未找到sub时会报出异常
#字符串分割
1.string.split([sep [,maxsplit]])
用来根据指定的分隔符将字符串进行分割,不包含分隔符,结果存为列表,不指定sep时,默认将将空格作为分隔符
2.string.partition(sep)
用来根据指定的分隔符将字符串进行分割,分割点为首次出现sep的地方,且包含分隔符,结果存为元组,且固定为3个元素,如果sep不存在字符串中,则后面2个元素为空
3.string.rpartiton()
用来根据指定的分隔符将字符串进行分割,分割点为最后一次出现sep的地方,且包含分隔符,结果存为元组,且固定为3个元素,如果sep不存在字符串中,则前面2个元素为空
#字符串判断
1.string.isupper()
返回字符串中是否全为大写 --> True/False
2.string.islower()
返回字符串中是否全为小写 --> True/False
3.string.isdigit()
返回字符串中是否只包含数字 --> True/False
4.string.isalpha()
返回字符串中是否只包含字母 --> True/False
5.string.isalnum()
返回字符串中是否只包含字母或数字 --> True/False
6.string.isspace()
返回字符串中是否只包含空格(tab也算空格) --> True/False
7.string.istitle()
返回字符串中首字母是否大写 --> True/False
8.string.startswith(prefix[, start[, end]])
返回字符串是否以某字符串开始,可以通过start和stop参数设置搜索范围
9.string.endswith(suffix[, start[, end]])
返回字符串是否以某个字符串结束 可以通过start和stop参数设置搜索范围
#其它
1.string.count(sub[, start[, end]])
计数字符串中某子集的数量,可以通过start和stop参数设置搜索范围
2.len(string)
获取字符串的长度
3.list(string)
字符串转列表
4.string.join(iterable)
列表转字符串,用于将序列中的元素以指定的字符string连接生成一个新的字符串。注意:iterable只能是字符串类型,否则会报出异常
5.string.encode(encoding='UTF-8',errors='strict')
以 encoding 指定的编码格式编码字符串
6.string.decode(encoding='UTF-8',errors='strict')
解码字符串,出错默认报ValueError,除非errors是ignore或replace
7.string.translate(table [,deletechars])
根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到deletechars参数中
例:
1 #!/usr/bin/python
2 #coding:utf8
3 import string
4 intab = "abcd"
5 outtab = "1234"
6 tab = string.maketrans(intab,outtab)
7 strs = "abcd####abcdefg"
8 print strs.translate(tab)
9 print strs.translate(tab,'ab')
输出结果:
1234####1234efg
34####34efg
8.string.format(*args, **kwargs)
它通过{}和:来代替%
“映射”示例:
通过位置
1 print '{0}#{1}'.format('YYY',10)
2 print ('{}'+'#'+'{}').format('YYY','NNN')
3 print '{1}#{0}#{1}'.format('YYY','NNN')
输出结果:
YYY#10
YYY#NNN
NNN#YYY#NNN
通过关键字参数
1 str1 ='{name}'+' is '+'{age}'
2 print str1.format(name='ali',age=20)
输出结果:
ali is 20
通过对象属性
1 class students():
2 def __init__(self,name,age):
3 self.name,self.age = name,age
4
5 def __str__(self):
6 str1 = '{self.name}'+' is '+'{self.age}'
7 return str1.format(self=self)
8
9 print str(students("ali",20))
输出结果:
ali is 20
通过下标
1 name = ['ali','baidu']
2 age = [10,20]
3 str1 = '{0[0]},{0[1]}'+' are '+'{1[0]},{1[1]}'
4 print str1.format(name,age)
输出结果:
ali,baidare 10,20
有了这些便捷的“映射”方式,我们就有了偷懒利器。基本的python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。
格式限定符
它有着丰富的的“格式限定符”(语法是{}中带:号)
比如:填充与对齐
填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充,效果相当于字符串函数center,ljust和rjust。
例:
1 print '{:a^10}'.format('123')
2 print '123'.center(10,'a')
3 print '{:a<10}'.format('123')
4 print '123'.ljust(10,'a')
5 print '{:a>10}'.format('123')
6 print '123'.rjust(10,'a')
输出结果:
aaa123aaaa
aaa123aaaa
123aaaaaaa
123aaaaaaa
aaaaaaa123
aaaaaaa123
精度与类型
精度常跟类型f一起使用
1 print '{:.2f}'.format(123.456)
输出结果:
123.46
其中.2表示长度为2的精度,f表示float类型。
分隔符用,号还能用来做金额的千位分隔符。
1 print '{:,}'.format(123456789)
输出结果:
123,456,789
其他类型
主要就是进制了b、d、o、x分别是二进制、十进制、八进制、十六进制。
1 print '{:b}'.format(17)
2 print '{:d}'.format(17)
3 print '{:o}'.format(17)
4 print '{:x}'.format(17)
输出结果:
10001
17
21
11
python 列表,字典,元组,字符串,常用函数的更多相关文章
- python 列表,字典,元组,字符串,QuerySet之间的相互转换
1. 列表转换成字典list1 = ['key1','key2','key3']list2 = ['value1','value2'] dict1 = zip(list1,list2) # dict( ...
- python列表和元组的常用操作
一.列表 需要安利一下:列表和字符串数是不一样的.进行操作时列表可以发生改变,而字符串不可以,所以直接在原来的对象上操作. 1.列表的增加 def append(self, p_object): # ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- python的基本用法(三)字符串常用函数
字符串常用函数 # s='.abcd.'# new_s=s.strip('.')#默认去掉字符串两边的空格和换行符,想去掉什么括号中就写什么# print('s',s)# print('new_s', ...
- python字符串 常用函数 格式化字符串 字符串替换 制表符 换行符 删除空白 国际货币格式
# 字符串常用函数# 转大写print('bmw'.upper()) # BMW# 转小写print('BMW'.lower()) # bmw# 首字母大写print('how aae you ?'. ...
- (转)python 列表与元组的操作简介
python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...
- Python内置的字符串处理函数整理
Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...
- Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数
怎么样可以从一串字符中的某个指定位置的前或后截取指定个数的字符. 如:12345.6789,我要截取小数点前(或后)的3个字符.怎么样操作, 另外,怎么样从右边截取字符,就是和left()函数相反的那 ...
- python列表与元组的用法
python列表与元组的用法 目录: 列表的用法: 1.增 append + extend 2.删 del remove 3.改 insert 4.查 index 5.反向 ...
- python基础--递归、三元表达式、列表(字典)生成式、匿名函数、常用的内置函数
函数的递归:函数在调用阶段直接或者间接的又调用自身 递归的两个阶段: 1.回溯:就是一次次重复的过程,这个重复的过程必须建立在每一次重复问题的复杂度都是应该下降的,直接有一个最终的结束条件(这个结束条 ...
随机推荐
- mysql数据库允许远程连接
1.验证初始是否允许远程连接 由于本次虚拟机IP为192.168.2.120,因此我们执行 mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-pro ...
- “无法找到XXX.exe的调试信息,或调试信息不匹配”解决方案
错误信息如下: 解决方法: 选择项目属性,依次序进行如下操作. 1.选择 配置属性->链接器->调试->生成调试信息 改为 是 一般问题都是出现在这个地方,修改完了可以尝试运行,若还 ...
- [C++]PAT乙级1001.害死人不偿命的(3n+1)猜想(15/15)
/* 1001.害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下 ...
- frame与iframe的区别及基本用法
frame 和 iframe 的区别 1.frame 不能脱离 frameset 单独使用,iframe 可以: 2.frame 不能放到body中,否则将无法显示: 3.iframe 也可以嵌套在f ...
- CF961G Partitions
传送门 luogu 显然每个数的贡献可以一起算感性理解一下,于是答案就是权值总和乘以每个数被算了几次 那个"集合大小为\(|S|\)的集合权值为权值和乘\(|S|\)",可以看成一 ...
- Linux之vi编辑器的使用
今天我们来说一下vi编辑器的使用,vi编辑器主要用来在Linux环境下编辑配置文件. 一.使用方法: 1.输入命令 vi filename,打开文件,处于一个查看模式 2.点击键盘 i,进入inser ...
- JAVA进阶2
间歇性混吃等死,持续性踌躇满志系列-------------第2天 1.父类子类继承(注:一个JAVA源文件中只能有一个public类,public 类的名字必须和这个编译单元的文件名完全相同,包括大 ...
- Java生成短链接
为什么要生成短链接 微博之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少. 那么使用短链接的作用有哪些呢?1.字数,2.统计,3.监控,4.过滤 ...
- 已安装nginx支持https配置 the "ssl" parameter requires ngx_http_ssl_module
原文链接:https://blog.seosiwei.com/detail/28 nginx已安装,ssl模块未安装的解决方法: 如果需要在linux中编译自己的nginx服务器,请参照:https: ...
- Oracle根据【日期】组,其他条件根据PIVOT行转列。使每个日期条件关联的其他数据只有一行。
select OPER_TIME, MICROPAY, REFUND from ( select trunc(oper_time) oper_time, class_name, sum(total_f ...