目录
一、python数据容器(列表)
1、列表 [ ] 定义
name=["gg",56,89.63]
for i in name:
print(i)
- 列表中存储的数据类型不限制,列表也可以嵌套定义
name=[[1,2,"jjj"],"京津冀",55,66.8]
- 列表下标从左向右取,就是从0开始;
- 列表下标从右往左取,就是从-1开始,-2 -3 ……
- 嵌套列表和二维数组一样
name=["gg" , 56 , 89.63 , ["hh",42]]
print(name[2])
print(name[-4])
print(name[3][0])
print(name[-1][-1])
#输出结果为:89.63
# gg
# hh
# 42
2、列表的方法
①、查询元素方法
- 查找某元素的下标
- 语法: 列表.index(元素)
- 如果找不到,就报错ValueError
name=["发发发",45,65.2]
print(name.index(45))
print(name.index(45.2))
# 输出结果:1
# ValueError: 45.2 is not in list
②、修改元素方法
- 修改特定下标的元素值
- 语法: 列表[下标] = 值
name=["发发发",45,65.2]
name[0] = 5
print(name)
③、插入元素方法
- 语法: 列表.insert(下标 , 元素) 在指定的下标位置,插入指定的元素
name=["发发发",45,65.2]
name.insert(1,"好好")
print(name)
# 输出结果:['发发发', '好好', 45, 65.2]
④、追加元素方法
- 语法: 列表.append(元素) 将指定元素 追加到列表的尾部
name=["发发发",45,65.2]
name.append("好好好")
print(name)
# 输出结果:['发发发', 45, 65.2, '好好好']
- extend方法,追加一个列表
name=["发发发",45,65.2]
name.extend(["好好好",44])
print(name)
# 输出结果:['发发发', 45, 65.2, '好好好', 44]
⑤、删除元素方法
- 语法1:del 列表[下标]
- 语法2:列表.pop(下标)
name=["发发发",45,65.2]
# del name[0]
name.pop(0)
print(name)
- 删除某元素在列表中的第一个匹配项 列表.remove(元素)
name=["发发发",45,3,65.22,3]
name.remove(3)
print(name)
# 输出结果:['发发发', 45, 65.22, 3]
⑥、清空列表方法
- 语法: 列表.clear()
name=["发发发",45,3,65.22,3]
name.clear()
print(name)
# 输出结果:[]
⑦、统计某元素在列表中的数量方法
- 语法: 列表.count(元素)
name=["发发发",45,3,65.22,3]
print(name.count(3))
# 输出结果:2
⑧、统计列表中总共元素的数量
- 语法: len(列表)
name=["发发发",45,3,65.22,3]
print(len(name))
# 输出结果:5
3、列表遍历
def hh():
my = [1, 56.3, "kk"]
i=0
while i < len(my):
print(my[i])
i+=1
hh()
def kk():
my =[1,542,"jj"]
for i in range(0,len(my)):
print(my[i])
kk()
def ll():
my=[12,56,"oo"]
for i in my:
print(i)
ll()
二、元组
1、元组()定义
- 元组一旦定义,便不可再修改,可以修改内部list 的内部元素
- t = (1,2,"可可可",54.2)
- t = tuple()
- 定义单个元素 t = (1,) 后面一定要有个,
下标取出内容:
a = ((1,2,3),(5,6,9))
print(f"{a[1][-1]}")
# 输出 9
2、元组的方法
①、查找某个数据 index()
a = ((1,2,3),(5,6,9),"公告",56.3)
print(a.index(56.3))
②、统计某个数据在元组中出现的次数 count()
a = (1,2,3,5,6,9,"公告",56.3,5)
print(a.count(5))
③、统计元组内的元素个数 len(元组)
a = (1,2,3,5,6,9,"公告",56.3,5)
print(len(a))
3、元组的遍历
a = (1,2,3,5,6,9,"公告",56.3,5)
# while 循环
i=0
while i<len(a):
print(a[i])
i+=1
#for 循环
for i in a:
print(i)
三、字符串
- 字符串不可修改
- str = "dddddd ddd gg"
1、字符串的方法
①、查找特定字符串的下标索引值 index()
str = "ggg sdf abc jk"
print(str.index("jk"))
# 输出结果为13
②、字符串的替换 replace
- 语法: 字符串.replace(字符串1,字符串2)
- 功能:将字符串1替换为字符串2
- 不是修改字符串,而是得到一个全新的字符串
str = "ggg sdf abc jk"
s1=str.replace("ggg","hjk")
print(s1)
# hjk sdf abc jk
③、字符串的分割 split
- 语法:字符串.split(分隔符字符串)
- 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
- 字符串本身不变,而是得到了一个列表对象
str = "ggg sdf abc jk"
s=str.split(" ")
print(s)
# ['ggg', 'sdf', 'abc', 'jk']
④、字符串的规整操作(去前后空格)
- 语法:字符串.strip()
str = " ggg sdf abc jk "
print(str.strip())
# ggg sdf abc jk
⑤、字符串的规整操作(去前后指定字符串)
- 语法:字符串.strip(字符串)
str = "ggg sdf abc jkg"
print(str.strip("g"))
# sdf abc jk
⑥、统计某个元素在字符串中出现的次数 count()
str = "ggg sdf abc jkg"
print(str.count("g"))
# 4
⑦、统计字符串长度 len(字符串)
str = "ggg sdf abc jkg"
print(len(str))
# 15
四、数据容器(序列)的切片
- 切片:从一个序列中,取出一个子序列
- 语法:序列[起始下标:结束下标:步长]
- 起始下标:从何处开始,可以留空,留空表示从头开始
- 结束下标:(不含)表示从何处结束,可以留空,留空视为截取到结尾
- 步长表示,依次取元素的个数
- 步长1:一个个取元素
- 步长2:每次跳过1个元素取
- 步长n:每次跳过n-1个元素取
- 步长为负数,反向取(起始下标和结束下标也要反向标记)
- 不会影响序列本身,而是生成一个新序列
1、正向
# 对list切片 从1开始,4结束,步长1
a=[0,1,2,3,4,5,6]
s=a[1:4:1]
print(s)
# 结果:[1, 2, 3]
# 对tuple切片,从头开始,到最后结束,步长1
a=(0,1,2,3,4,5,6)
s=a[::1] # s=a[:]
print(s)
# 结果(0, 1, 2, 3, 4, 5, 6)
# 对str切片,从头开始,到最后结束,步长2
a="0123456"
s=a[::2]
print(s)
# 结果 0246
2、反向
# 对str切片,从头开始,到尾结束,步长-1
a="0123456"
s=a[::-1]
print(s)
# 结果 6543210
# 对列表切片,从3开始,到1结束,步长-1
a=[0,1,2,3,4,5,6]
s=a[3:1:-1]
print(s)
# 结果[3, 2]
#对元组切片,从头开始,到尾结束,步长-2
a=(0,1,2,3,4,5,6)
s=a[::-2]
print(s)
# 结果(6, 4, 2, 0)
五、集合(不支持元素重复) {}
- a={1,2,3,4,5,6,}
- a=set()
- 不支持下标索引访问
1、集合的方法
- 添加 集合.add(元素)
- 移除 集合.remove(元素)
- 随机取出 集合.pop()
- 清空集合 集合.clear()
- 取两个集合的差集 集合1.difference(集合2) 1里面有,2里面没有
- 消除两个集合的交集 集合1.difference_update(集合2) 在集合1里,删除和集合2相同的元素
- 2个集合合并成一个 集合1.unior(集合2) 得到新集合
- 统计集合元素数量 len(集合)
2、集合的遍历
不能用while循环,只能用for循环,因为集合不支持下标
六、字典
- s = a{key : value, key : value}
- s = a{}
- s = dict()
- 不允许key重复,不可以使用下标索引
1、根据key找到value值
h={"ff":45,"gg":65}
print(h["gg"])
# 65
2、字典的嵌套
h={
"aa":{
"语文":55,
"数学":46
},
"ss":{
"语文":78,
"数学":98
}
}
print(h["aa"]["语文"])
# 55
3、字典操作
h={"aa":45,"ss":78,"dd":96}
# 新增 {'aa': 45, 'ss': 78, 'dd': 96, 'ff': 75}
h["ff"]=75
print(h)
# 更新 {'aa': 33, 'ss': 78, 'dd': 96, 'ff': 75}
h["aa"]=33
print(h)
# 删除 {'ss': 78, 'dd': 96, 'ff': 75}
h.pop("aa")
print(h)
# 清空 {}
h.clear()
print(h)
op={"aa":45,"ss":78,"dd":96}
# 获取全部key dict_keys(['aa', 'ss', 'dd'])
print(op.keys())
#遍历字典1
keys=op.keys()
for key in keys:
print(key+",",end='')
print(op[key])
# aa,45
# ss,78
# dd,96
# 遍历字典2
for key in op:
print(key+",",end='')
print(op[key])
# aa,45
# ss,78
# dd,96
# 统计字典内的元素数量 3
print(len(op))
七、容器通用功能
- max 容器内最大元素
- min() 容器内最小元素
- len() 容器元素个数
- list() 转换为列表
- tuple() 转换为元组
- str() 转换为字符串
- set() 转换为集合
- sorted(序列,[reverse = True]) 排序,reverse=True 降序