1.字符串
字符串 使用
str = “”"
张三
李四
王二麻子
“”"
str2 = ‘小明""’
单引号与双引号 互相嵌套使用
print(str2)
print(type(str2))
字符串切片
str3 = ‘abcdEFGH123456天气清晴朗,阳光明媚’
print(str3[4])
print(str3[-1])
print(str3[3:10]) # 从第一个元素下表开始,结束在第二个元素-1
print(str3[:]) # 从头到尾
str4 = ‘good’
print(str4 * 3) # 字符串可以直接 做乘法运算
print(str3 + str4) # 字符串可以直接相加
str5 = “028353ASDfgh”
str6 = “Aa”
print(str5 * 3)
print(len(str5)) # 字符串长度
print(max(str6)) # 最大值
print(min(str6)) # 最小值
str7 = ‘abcd,EFGH,123456,天气清晴朗,阳光明媚’
L1 = str7.split(’,’,10) # split 切割,参数一:以什么为基础切割
参数二:切割次数
print(L1,type(L1))
L2 = ‘**’.join(‘abcd’)
print(L2)
新加切片
print(len(str7))
print(str7[-2:27])
print(str7[::3])
print(str7[::-1])
print(str7[::-5])
字符串的修改、添加、删除
字符串本身事不可变的,只要事对它修改,就是生成了一个新的字符串
a = “good”
a = a + ’ nice’
print(a)
print(‘添加***’)
b = a.center(6,’*’) # 从字符串左右两边同时添加,如果字符串长度为奇数,则左侧比右侧多一个
print(b)
print(len(b))
c = a.rjust(9,’*’) # 原始字符串在右边,从左侧添加
print©
d = a.ljust(9,’*’) # 原始字符串在左边,从右侧添加
print(d)
print(‘删除***’)
aa = ‘abcdef’
e = aa.strip(‘gt*’) # 从左右两边同时删除,如果查询不到就无法删除,
print(e)
f = aa.rstrip(’*t’) # 从右边开始删除
print(f)
g = aa.lstrip(’*a’) # 从左边开始删除
print(g)
print(‘修改***’)
aaa = ‘站三ABCD.qwer.123.456.你好世界!’
aaa = ‘ABCD.qwer.123.456.你好世界!’
h = aaa.upper() # 将所有的小写字母转为大写字母
print(h)
i = aaa.lower() # 将所有的大写字母转为小写字母
print(i)
j = aaa.swapcase() # 大小写互换
print(j)
k = aaa.title() # 首字母大写
print(k)
L = aaa.capitalize() # 如果是一个字符串,并且第一个字符是字母,只将其转为大写,其余全部小写
print(L)
print(‘replace***’)
a4 = ‘123,123,123,123456,789,asd,qwe,zxc,张三,李四,王五’
m = a4.replace(‘123’,‘666’) # 替换字符串上的所有符合规则元素
n = a4.replace(‘123’,‘666’,2) # 替换的次数,从头开始
print(m)
print(n)
O = a4.replace(‘123’,‘999’,2).replace(‘456’,‘555’).replace(‘张三’,‘张麻子’) # 可以多次使用
print(O)
print(‘查询***’)
a5 = ’ one two three four five one two one two two three three o’
print(len(a5))
p = a5.count(‘one’,0,35) # 在字符串中出现的次数
print§
q = a5.find(‘o’) # 查询第一个所在的索引
print(q)
r = a5.find(‘one’) # 从右边查询第一个所在的索引
print(q)
s = a5.index(‘six’) # 跟 find 唯一的区别,如果原字符串中没有,就会报错 not found
print(s)
s2 = a5.index(‘six’) # 跟 rfind 唯一的区别,如果原字符串中没有,就会报错 not found
print(s2)
2.列表
s = ‘adsakds1.2gajksdgasjd’
for j in s:
print(j,type(j)) # 基本用户上
list1 = [1,2,3,4,5,6,‘a’,‘b’,‘c’,‘小花’,‘小明’,True]
for i in list1:
print(i,type(i)) # 经常用到
a = list1[3]
print(a)
list1[3] = ‘小乔’ # 列表赋值 注:与字符串类似,如果原有的列表被修改,就相当于一个新的列表
赋值的时候,是给原有的列表赋值
print(list1)
b = list1[1:4] # 切片 范围取值
print(b)
c = list1[::2] # 步长
print©
list2 = [1,2,3,[4,5,6],[7,8,9]]
d = list24 # 二维列表取值
list24 = 0 # 二维列表取值
print(d)
print(list2)
使用 range 创建一个列表
list3 = list(range(1,21,2))
list4 = list(range(100,10,-10))
print(list4)
print(‘ID***’)
str1 = ‘abc’
print(str1,id(str1))
str1 += ‘def’
print(str1,id(str1))
list5 = [1,2,3,4,5]
print(list5,id(list5))
list5[3] = 666
print(list5,id(list5))
list6 = list5 + [9,8,7]
list7 = list5
print(list6,id(list6))
print(list7,id(list7))
list8 = list5 * 3
print(list8,id(list8))
******************8
添加
list9 = []
list9.append(‘111’) # 列表添加元素
list9.append(‘222’)
print(list9)
删除
list10 = [1,2,3,‘delete’,‘remove’,‘pop’,4,5,6]
list10.remove(3)
print(list10)
list10.pop() # 默认删除最后一个
list10.pop(1)
list10.pop(-1)
print(list10)
修改
反转列表
list10.reverse()
print(list10)
其它
list12 = [1,2,3,4,5,11]
L = len(list12) # 列表长度
print(L)
L2 = max(list12) # 最大值
L3 = min(list12) # 最小值
print(L2)
print(L3)
list12.clear() # 清空列表
print(list12)
list12.insert(3,666) # 插入
print(list12)
查一查
list12.extend([7,9]) # 扩张
print(list12) # 在列表的最后添加
print(’'50)
查找
print(list12.index(3)) # 找元素所在的下表
print(list12.count(5)) # 查找列表中元素出现的次数
排序
list12.sort(reverse=False) # 列表升序
list12.sort(reverse=True) # 列表降序
print(list12)
L = [1,3,5,8,3,2]
a = sorted(L,reverse=False)
b = sorted(L,reverse=True)
print(a)
print(b)
“”"
sort 与 sorted 的区别:
sort 修改原始列表
sorted 新建一个列表
“”"
3.tuple 元组
特性:相当于不可变的列表
开始定义成的样子,就一直是这个样子
t = (1,2,3,4,5)
print(t,type(t))
t2 = (1,) # 如果只有一个元素,不许末尾添加一个逗号
print(t2,type(t2))
用 range 创建一个元组
t3 = tuple(range(2,31))
print(t3)
for i in t:
print(i)
print(max(t3),min(t3),len(t3))
print(t3.index(4))
print(t3.count(5))
元组变成列表
L = list(t3)
print(L,type(L))
t4 = tuple(L)
print(t4,type(t4))
排序
t5 = (1,4,7,9,2,4,7,33,11)
s1 = tuple(sorted(t5,reverse=True))
s2 = tuple(sorted(t5))
print(s1)
print(s2)
要给元组排序,可以先将其转为列表,排序后,再转为元组
元组不可变,但是元祖里存放的列表,不受元组本身的影响
t6 = (1,2,3,4,5,[1,2,3],[4,5,6])
a = t6[5]
print(a,type(a))
t65 = 666
t65 = 999
t66 = 333
print(t6)
4.字典
dict :字典,通过key-value(键-值)匹配数组的存在,完全不考虑位置
key: 查询所需要的关键字,在同一个字典中不允许重复,key一般来说都是使用字符串
d = {‘A’:11,2:22,‘C’:33,‘D’:44}
print(d,type(d))
d1 = d[‘C’] # 字典取值
d2 = d[2] # 使用列表取值 [这里放的事 key 值]
print(d1)
print(d2)
d2 = d.get(‘f’)
print(d2)
使用列表取值,如果 key 没有,就会报错
使用 get() 方法取值,如果 key 没有 ,返回None
赋值
d[‘C’] = 33333
print(d)
删除
d.pop(‘A’)
print(d)
for 循环
for i in d:
print(i)
print(d[i])
for j in d.values():
print(j)
for q in d.keys():
print(q)
for k,v in d.items():
print(k,v)
5.集合
tmp = {1,2,3,‘good’,3}
print(tmp,type(tmp))
增
tmp.add(‘love’) # 如果容器中元素已经存在,不能添加进去
tmp.add(‘love’)
print(tmp)
改
tmp.update([1,2,3,4,5,6,‘blue’]) # 将容器中的元素放到集合中去,去掉重复的元素
print(tmp)
删
tmp.remove(‘blue’)
print(tmp)
清空
tmp.clear()
print(tmp)
集合与列表之间的转换
L = list(tmp)
print(L,type(L))
LL = [1,1,1,1,2,2,2,3,3,4,4,4,5,5,5,55,5,5,]
set1 = set(LL)
print(set1)
sss1 = {1,2,3,6,8,9}
sss2 = {2,3,4,5,6,9}
print(sss1 & sss2) # 与
print(sss1 | sss2) # 或
print(sss1 ^ sss2) # 非