整理
一、布尔值:
bool(...)
None "" () [] {} 0 ==> False
二、字符串:
1.replace():将前面的代码替换为后面的代码
1 test = "alexalex" 2 v = test.replace("ex","bbb") 3 print(v)
>>>albbbalbbb
#默认替换全部,参数为替换的个数
test = "alexalex"
v = test.replace("ex","bbb",1)
print(v)
>>>albbbalex
2.find()找到最左边的索引位置 没找到返回-1
1 test = "alexalex" 2 v = test.find('ex') 3 print(v)
>>>2
#找到最左边的索引位置
test = "alexalex"
v = test.find('x')
print(v)
>>>3
3.""join() 把前面"_"当分割符把字符串全部分开
1 test = "alexalex" 2 v = "_".join(test) 3 print(v)
>>>a_l_e_x_a_l_e_x
4.strip() 删除两边的空格
test = " alexalex " v = test.strip() print(v)
>>>alexalex
5.startswith() 判断字符串的开头是不是指定参数,返回结果是布尔值。 endswith判断以什么结尾
1 test = "alexalex"
2 v = test.startswith("al ") 3 print(v)
>>>True
test = "alexalex" #指定判断的开始位置 ,这个下标为2
v = test.startswith("ex",2)
print(v)
>>>True
test = "alexalex" #endswith判断以什么结尾
v = test.endswith("ex")
print(v)
>>>True
6.split() 以列表的方式 用空格 把一个字符串 分为 多个字符串
test = "ale xale x" v = test.split() print(v)
>>>['ale', 'xale', 'x']
7.upper()把字符串变成大写 .isupper() 判断是否为大写
1 test = "alexALEX" 2 v = test.upper() 3 print(v)
>>>ALEXALEX
8.lower() 把字符串变小写 .islower()判断是否为小写
test = "alexALEX" v = test.lower() print(v)
>>>alexalex
9.format() 把大括号里的值换成指定的值
test = "I am {name},age:{age}" v = test.format(name=szw","age"=19}) print(v)
>>>I am szw,age:19
test = "I am {name},age:{age}" #换成字典里的值
v = test.format(**{"name":"szw","age":19})
print(v)
>>>I am szw,age:19
10.capitalize() 首字母大写
1 name="shizhemgwen" 2 print(name.capitalize())
>>>Shizhemgwen
11.casefold() 全部变成小写 和 .lower() 一样
1 name="ShiZhemgWen" 2 v=name.casefold() 3 print(v)
>>>shizhemgwen
name="ShiZhemgWen"
v=name.lower()
print(v)
>>>shizhengwen
12.count() 寻找子序列出现的次数
1 name="ShiZhemgWen" 2 v=name.count("h") #必须传传参数 3 print(v)
>>>2
name="ShiZhemgWen" #查找的范围
v=name.count("h",1,3)
print(v)
>>>1
13.expandtabs() 用空格 和换行 断开 来格式化
test="username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123"
v=test.expandtabs(20) #括号里面为长度
print(v)
>>>
username email password
laiying ying@q.com 123
laiying ying@q.com 123
laiying ying@q.com 123
14.isalnum() 只存在字母和数字时 为True 其他为False
1 name="shizhengwen123456" 2 v=name.isalnum() 3 print(v)
>>>True
15.isalpha() 只存在字母和中文是为True 其他为False
1 name="shizhengwen你好" 2 v=name.isalpha() 3 print(v)
>>>True
16.isdecimal() .isdigit() .isnumeric() 判断是不是数字
1 name="123" #不是10进制数就为False 2 v=name.isdecimal() 3 print(v)
>>>True
name="②2" #”②“也不会报错
v=name.isdigit()
print(v)
>>>True
name="②2二" #大写的“二”也不会报错
v=name.isnumeric()
print(v)
>>>True
17.isprintable() 判断是否存在不可显示的字符 (\t , \n)
name="oiuas\tdfkj" #没有则为 True v=name.isprintable() print(v)
>>>False
18.isspace() 判断是否全部是空格
1 name=" " 2 v=name.isspace() 3 print(v)
19.istitle() 判断是否是标题 .title()改为标题
1 name="Return True if all cased characters in S are uppercase and there is" 2 v=name.title() 3 print(v) 4 print(v.istitle())
>>>Return True If All Cased Characters In S Are Uppercase And There Is
>>>True
20.partition()分割为三部分 rpartition() 从右边开始
1 name="alex" 2 v=name.partition("le") 3 print(v)
>>>('a', 'le', 'x')
21.split() 分为几部分 rsplit() 从右边开始
name="testasdsddfg" v=name.split("s") print(v)
>>>['te', 'ta', 'd', 'ddfg']
name="testasdsddfg" #括号里的数为分割成几部分
v=name.split("s",2)
print(v)
>>>['te', 'ta', 'dsddfg']
22.swapcase() 大小写转换
name="ShiZhengWen" v=name.swapcase() print(v)
>>>sHIzHENGwEN
23.isidentifier() 字母,数字,下划线 : 标识符 def class
1 name="def" 2 v=name.isidentifier() 3 print(v)
>>>True
三、列表
列表可以被索引、切片、循环。
1.append()追加一个新元素
li = [1,12,123,[44,["hehe"],55],"alex","szw"] li.append([12,"he"]) print(li)
>>>[1, 12, 123, [44, ['hehe'], 55], 'alex', 'szw', [12, 'he']]
2.extend()追加所有的元素到列表
li = [1,12,123,[44,["hehe"],55],"alex"] li.extend("shzhengwen") print(li)
>>>[1, 12, 123, [44, ['hehe'], 55], 'alex', 's', 'h', 'z', 'h', 'e', 'n', 'g', 'w', 'e', 'n']
3.insert()插入一个新元素,前面放参数(插入的位置)
li = [1,12,123,[44,["hehe"],55],"alex"] li.insert(1,"wenwen") print(li)
>>>[1, 'wenwen', 12, 123, [44, ['hehe'], 55], 'alex']
4.pop() 删除最后一个元素
li = [1,12,123,123,[44,["hehe"],55],"alex"] v = li.pop() print(li) print(v)
>>>[1, 12, 123, 123, [44, ['hehe'], 55]]
>>>alex
5.remove() 删除指定的元素
li = [1,12,123,123,[44,["hehe"],55],"alex"]
li.remove(12)
print(li)
>>>[1,123,123,[44,["hehe"],55],"alex"]
6.sort() 排序 ,但只能是相同的种类
li = ["hehe","alex"] li1 = [1,55,45,15,58,] li.sort() li1.sort() print(li) print(li1)
>>>['alex', 'hehe']
>>>[1, 15, 45, 55, 58]
7.reverse() 反转
li1 = [1,55,45,15,58,] li1.reverse()
>>>[58, 15, 45, 55, 1]
li1 = [1,55,45,15,58,] #倒着排序
li1.sort(reverse=True)
print(li1)
>>>[58, 55, 45, 15, 1]
8.copy()拷贝, 浅拷贝
li = [11, 22, 33, 22, 44] v=li.copy() print(v)
>>>[11, 22, 33, 22, 44]
9 .index() 获取索引位置
1 li = [11, 22, 33, 22, 44] 2 v=li.index(22) 3 print(v)
>>>1
四、元组
元组可以被索引、切片、循环。
元组的一级元素不可被,修改/删除/增加。
1.count()计数
tu = (1,12,123,123,[44,["hehe"],55],"alex") v = tu.count(123) print(v)
>>>2
2.index找出索引位置
tu = (1,12,123,123,[44,["hehe"],55],"alex") v = tu.index(123) print(v)
>>>2
五、字典
字典的value可以是任何值
字典 布尔值为(0)、列表、字典不能作为key
字典是无序的
可以被索引
1.fromkeys() 创建字典并指定统一的值 用列表的方式创建
1 v=dict.fromkeys(["k1",123,"999"],123) 2 print(v)
>>>{123: 123, 'k1': 123, '999': 123}
2.get() 根据key获取值 , key不存在时默认返回None
1 dic={ 2 "k1":"v1", 3 "k2":"v2" 4 } 5 v=dic.get("k3",123) #加了参数,如果没有key 则返回参数 6 print(v)
>>>123
3.pop() 删除并获取值
dic={
"k1":"v1",
"k2":"v2"
}
v=dic.pop("k1",90)
print(dic,v)
>>>{'k2': 'v2'} v1
k,v=dic.popitem() #随机删除一对并获取
print(k,v)
>>>k1 v1
4.setdefault() 已存在,不设置,获取当前key对应的值。
不存在,设置,获取当前key对应的值。
1 dic={ 2 "k1":"v1", 3 "k2":"v2" 4 } 5 v=dic.setdefault("k1","123") 6 print(dic,v)
>>>{'k1': 'v1', 'k2': 'v2'} v1
v=dic.setdefault("k11111","123")
print(dic,v)
>>>{'k2': 'v2', 'k11111': '123', 'k1': 'v1'} 123
5.update() 更新
1 dic={ 2 "k1":"v1", 3 "k2":"v2" 4 } 5 dic.update(k1=132,k2=456,k3=789) 6 print(dic)
>>>{'k2': 456, 'k1': 132, 'k3': 789}
六、集合:
1.set()创建集合
1 s=set(["alex","alex","sb"]) 2 print(s)
>>>{'sb', 'alex'}
2.add() 添加元素 只能添加一个
1 s=set(["alex","alex","sb"]) 2 s.add("123") 3 print(s)
>>>{'alex', '123', 'sb'}
3.clear() 清空
1 s=set(["alex","alex","sb"]) 2 s.clear() 3 print(s)
>>>set()
4.copy() 复制
1 s=set(["alex","alex","sb"]) 2 sl=s.copy() 3 print(sl)
>>>{'alex', 'sb'}
5.pop() 随机删 并获取
1 s=set(["alex","alex","sb"]) 2 sl=s.pop() 3 print(sl)
4 print(s)
>>>sb
>>>{'alex'}
6.remove() 删除指定元素 不存在会报错
1 s=set(["alex","alex","sb"]) 2 s.remove("sb") 3 print(s)
>>>{'alex'}
7.intersection() 交集 & 共用的元素
1 p_s={'lcg','szw','zjw','lcg'} 2 l_s={'lcg','szw','sb'} 3 print(p_s,l_s) 4 print(p_s.intersection(l_s)) 5 print(p_s&l_s)
1>>>{'szw', 'lcg', 'zjw'} {'szw', 'lcg', 'sb'}
2>>>{'szw', 'lcg'}
3>>>{'szw', 'lcg'}
8.union() 并集 | 一共有哪些元素
1 p_s={'lcg','szw','zjw','lcg'} 2 l_s={'lcg','szw','sb'} 3 print(p_s,l_s) 4 print(p_s.union(l_s)) 5 print(p_s|l_s)
1>>>{'zjw', 'szw', 'lcg'} {'szw', 'lcg', 'sb'}
2>>>{'szw', 'zjw', 'lcg', 'sb'}
3>>>{'szw', 'zjw', 'lcg', 'sb'}
9.difference() 差集 - 减去共有的部分,只有自己有的元素
1 p_s={'lcg','szw','zjw','lcg'} 2 l_s={'lcg','szw','sb'} 3 print(p_s,l_s) 4 print(p_s.difference(l_s)) 5 print(p_s-l_s)
1>>>{'lcg', 'szw', 'zjw'} {'sb', 'lcg', 'szw'}
2>>>{'zjw'}
3>>>{'zjw'}
10.symmetric_difference() 交叉补集 ^ 减去共有的部分,加上不同的元素
1 p_s={'lcg','szw','zjw','lcg'} 2 l_s={'lcg','szw','sb'} 3 print(p_s,l_s) 4 print(p_s.symmetric_difference(l_s)) 5 print(p_s^l_s)
1>>>{'zjw', 'szw', 'lcg'} {'sb', 'szw', 'lcg'}
2>>>{'sb', 'zjw'}
3>>>{'sb', 'zjw'}
11.update() 更新
1 s1={1,2,5,6} 2 s2={1,2,3} 3 s1.update(s2) 4 print(s1)
>>>{1, 2, 3, 5, 6}
12.difference_update() 求差集并赋值
1 p_s={'lcg','szw','zjw','lcg'} 2 l_s={'lcg','szw','sb'} 3 print(p_s,l_s) 4 p_s.difference_update(l_s) 5 print(p_s)
1>>>{'szw', 'lcg', 'zjw'} {'szw', 'sb', 'lcg'}
2>>>{'zjw'}
13.issubset() 判断是否是子集
1 s1={1,2} 2 s2={1,2,3} 3 print(s1.issubset(s2)) 4 print(s2.issubset(s1))
>>>True
>>>False
14.issuperset()判断是否是父集
1 s1={1,2} 2 s2={1,2,3} 3 print(s1.issuperset(s2)) 4 print(s2.issuperset(s1))
>>>False
>>>True