一. 数字 int
1. int 将字符串转换成数字
a="123" print(type(a),a) a=int(a) print(type(a),a)
#指定字符串进制 a="0011" a=int(a,base=16) print(a)
2. bit_length 当前数字转换为二进制数至少需要几位数
a=11 b = a.bit_length() print(b)
二. 字符串str
1. capitalize 首字母大写
str='hello' v=str.capitalize() print(v)
运行结果:
Hello
2. casefold 转换为小写,与lower功能相同,但比lower功能强大
str='HeLLo' v=str.casefold() print(v)
运行结果:
hello
3. center 将字符串放在中间,并用指定字符(0或1个,不指定默认空格)填充两边,使达到指定长度
str='hello' v=str.center(20,"#") print(v)
运行结果:
#######hello########
4. count 计算字符串中指定子字符串的个数,可指定其实结束位置,左闭右开
str="buhuanfhgujk" v1=str.count('u') v2=str.count('u',0,10) v3=str.count('u',0,9) print(v1,v2,v3)
运行结果:
3 3 2
5. endswith 判断是否以指定字符串结尾,可指定判定区间,左闭右开,startswith同
str="shueign" v=str.endswith('gn') v1=str.endswith('h',0,1) v2=str.endswith('h',0,2) print(v,v1,v2)
运行结果:
True False True
6. find 找到指定字符串的开始位置,未找到返回-1,左闭右开
index 也是查找字符串位置,但是未找到会报错
rfind 从右侧开始查找
str="husjgjabugblangu" v=str.find('gj') v1=str.find('g',5,9) v2=str.find('g',5,10) print(v,v1,v2)
运行结果:
4 -1 9
7. format 将一个字符串中的占位符替换为指定的值
str='I am {name}.I am {year}' v=str.format(name="hao",year="20") print(v) str1='I am {0}.I am {1}' v1=str1.format("hao","20") print(v1)
# 格式化,传入的值必须是 {"name": 'alex', "a": 19} test = 'i am {name}, age {a}' v1 = test.format(name='df',a=10) v2 = test.format_map({"name": 'alex', "a": 19})
8. isalnum 字符串中是否只包含 字母和数字
isalpha 只包含字母
isdigit 只包含数字
isnumeric 是否只包含数字字符
str="hue13@" v1=str.isalnum() print(v1)
9. islower 字符串是否全部是小写
isupper 字符串是否全部是大写
swapcase 大写转小写,小写转大写
abc="sajgna123" v1=abc.islower() print(v1) aaa="ABV123" v2=aaa.isupper() print(v2)
运行结果: True True
10. isspace 是否只包含空白
11. istitle 是否是标题化的,即每个单词的首字母都是大写
12. join 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
aaa="ABV123" v1='_'.join(aaa) print(v1)
运行结果: A_B_V_1_2_3
13. len 计算字符串长度
14. ljust 使用指定字符(默认为空)左对齐填充字符串,使字符串达到指定长度
rjust 右对齐
aaa="sijg" v1=aaa.ljust(20,"*") print(v1)
运行结果: sijg****************
15. lstrip 截掉字符串左边的空格或指定字符,并返回截取后的值(不指定参数时,默认截掉空格)
rstrip 删除左侧的
strip 删除两边的
aaa="sdniga" v1=aaa.lstrip("s") print(v1,aaa)
运行结果: dniga sdniga
16. maketrans 创建字符映射的转换表
aaa="abcde" trans=str.maketrans("abcde","12345") print(aaa.translate(trans),aaa)
运行结果: 12345 abcde
17: replace 将字符串中的字符替换为指定字符(可选择替换几次)
aaa="sjsijg" v1=aaa.replace("s","L") print(v1)
运行结果: LjLijg
18. split 将字符串以指定字符分割,并删除该字符
aaa="asdfghjk" v1=aaa.split("g") print(v1)
运行结果: 【‘asdf’,'hjk'】
三、列表list
1. append 在列表末尾添加新的对象(只能加一个)
extend 在列表末尾一次性追加另一个序列中的多个值
li=['aaa','bbb','ccc'] li.append('ddd') print(li)
运行结果: ['aaa','bbb','ccc','ddd']
li=['aaa','bbb','ccc'] li.extend(['ddd','eee']) print(li)
运行结果: ['aaa','bbb','ccc','ddd','eee']
2. count 统计某个元素在列表中出现的次数
li=['aaa','bbb','ccc','aa','aaa'] v1=li.count('aaa') print(v1)
运行结果:
2
3.index 找出列表中某个值索引位置(不存在的值会报错)
li=['aaa','bbb','ccc','aa','aaa'] v1=li.index('aaa') print(v1)
运行结果: 0
4. insert 将对象插入列表(需指定插入位置,一次只能插入一个对象)
li=['aaa','bbb','ccc'] li.insert(-2,'aa') print(li)
运行结果: ['aaa','aa','bbb','ccc']
#如指定位置为-1,则找到当前-1位置的字符串为‘ccc’,降‘aa’插入到它的左边
5. pop 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
remove 移除列表中某个值的第一个匹配项,无返回值
clear 清空列表
li=['aaa','bbb','ccc','aa','aaa'] v1=li.pop() print(v1,li)
运行结果:
aaa ['aaa','bbb','ccc','aa']
li=['aaa','bbb','ccc','aa','aaa'] v1=li.remove('bbb') print(v1,li) 运行结果: None ['aaa','ccc','aa','aaa']
6. reverse 反向列表中元素
7. copy 复制列表
8. sort 对列表中的元素进行排序
aa=['s','a','d','123'] aa.sort() print(aa) 运行结果: ['123', 'a', 'd', 's']
四. 元组
1. 元组不可修改
2. count 计算元组中指定字符的个数
3. index 指定字符在元组中的位置
4. 元组切片
aa=('aaa','bbb','bbb','sh','si','eu','ei') bb=aa[2:7:2] #起始位置2,结束位置7,步长2 print(bb) 运行结果: ('bbb', 'si', 'ei')
五. 字典 dict
1. 字典由键值对组成
键的类型必须是不可变的数据类型,如字符串/数字/元组
2. 增删改查
#增 s={'a':'shu','b':'ueng',2:{'11':44}} s['c']='hu' print(s) 运行结果: {'a': 'shu', 'b': 'ueng', 2: {'11': 44}, 'c': 'hu'}
aa={'a':'shu','b':'ueng',2:{'11':44}}
bb={'c':'hh','d':'ee'}
aa.update(bb)
print(aa)
运行结果:
{'a': 'shu', 'b': 'ueng', 2: {'11': 44}, 'c': 'hh', 'd': 'ee'}
#删 s={'a':'shu','b':'ueng',2:{'11':44}} s.clear() print(s) s={'a':'shu','b':'ueng',2:{'11':44}} del s['a'] print(s)
#改: s={'a':'shu','b':'ueng',2:{'11':44}} s['a']='hahah' print(s) 运行结果: {'a': 'hahah', 'b': 'ueng', 2: {'11': 44}}
#查: aa={'a':'shu','b':'ueng',2:{'11':44}} b=aa.get('a') #没有返回none print(b)
aa={'a':'shu','b':'ueng',2:{'11':44}}
b=aa.setdefault('aa') #查找指定键的值,没有的话添加到字典中
print(aa,b)
运行结果:
{'a': 'shu', 'b': 'ueng', 2: {'11': 44}, 'aa': None} None
3. fromkeys 以序列 (可以是列表/元组/字典)中元素做字典的键,value 为字典所有键对应的初始值(可以不指定,默认none)
aa={'a':'shu','b':'ueng',2:{'11':44}} # aa=['a','b','c'] s=dict.fromkeys(aa,10) print(s) 运行结果: {'a': 10, 'b': 10, 2: 10}
4. items 以列表的形式返回字典中的键值对
aa={'a':'shu','b':'ueng',2:{'11':44}} print ("字典中的值:%s" %aa) for key,value in aa.items(): print(key,value) 运行结果: 字典中的值:{'a': 'shu', 'b': 'ueng', 2: {'11': 44}} a shu b ueng 2 {'11': 44}
5. keys 以列表的形式返回字典的所有键
aa={'a':'shu','b':'ueng',2:{'11':44}} print(aa.keys()) 运行结果: dict_keys(['a', 'b', 2])
6. POP 删除字典给定键 key 所对应的值,返回值为被删除的值
aa={'a':'shu','b':'ueng',2:{'11':44}} b=aa.pop('a') print(aa,b) 运行结果: {'b': 'ueng', 2: {'11': 44}} shu
7. popitem 随机返回并删除字典中的一对键和值
aa={'a':'shu','b':'ueng',2:{'11':44}} b=aa.popitem() print(aa,b) 运行结果: {'a': 'shu', 'b': 'ueng'} (2, {'11': 44})
8. values 以列表返回字典中的所有值
aa={'a':'shu','b':'ueng',2:{'11':44}} print(aa.values()) 运行结果: dict_values(['shu', 'ueng', {'11': 44}])
六、集合
1. 集合是无序的,不可重复元素的序列
创建集合:
法1:basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
法2:a = set('abracadabra')
a为 {'a', 'r', 'b', 'c', 'd'}
2. 集合运算
a-b # 集合a中包含而集合b中不包含的元素
a.difference(b) #找到a中包含而集合b中不包含的元素
a.difference_update(b) #获取a-b的值并且更新给a
a={'aaa','bbb','ccc'} b={'ccc','ddd','eee'} c=a.difference(b) d=a-b print(a,b,c,d) 运行结果: {'aaa','ccc','bbb'}{'ccc','ddd','eee'}{'aaa','bbb'}{'bbb','aaa'}
a | b # 集合a或b中包含的所有元素
a.union(b) #集合ab的并集
a & b # 集合a和b中都包含了的元素
a.intersection(b) #取ab交集
a.intersection_update(b) #取ab交集,并将值更新给a
a={'aaa','bbb','ccc'} b={'ccc','ddd','eee'} c=a.intersection(b) d=a&b print(a,b,c,d) 运行结果: {'aaa','bbb','ccc'}{'ccc','ddd','eee'}{'ccc'}{'ccc'}
a ^ b # 不同时包含于a和b的元素
a.symmetric_difference(b) #找出a含b不含,或b含a不含的元素
a.symmetric_difference_update(b) #找出a含b不含,或b含a不含的元素,并更新给a
3. 添加元素
basket.add('aaa')
basket.update('aaa')
4. 删除元素
basket.clear() #删除全部元素
basket.discard('banana') #删除指定元素
pop #随机移除元素
remove #移除指定元素
5. isdisjoint 判断两个集合中是否有相同元素,有回false,没有回true
a={'aaa','bbb'} b={'ccc','ddd','eee'} c=a.isdisjoint(b) print(c)
True
6. issubset 判断a是不是b的子集
a={'aaa','bbb'} b={'bbb'} c=a.issubset(b) print(c) False
issuperset 判断a是不是b的父集
a={'aaa','bbb'} b={'bbb'} c=a.issuperset(b) print(c) True