admin管理员组文章数量:1026989
第三章笔记
一.
1.字符串:
概念:由0个或多个字符组成的有序字符序列
由' ' 或" "表示
使用[ ]获取一个或单个字符 例如:[-1:5]
2.索引:返回字符串中单个字符
切片:返回字符串中一段字符子串
左开右闭 正向递增 反向递减
3.转义符:
"\b"回退
"\n"换行(光标移动到下行首)
"\r" 回车(光标移动到本行首)
4. 常用函数
len()获取长度 str() 把任意数据类型转换成string
Type()输出数据类型的
5.lower() 转换小写 upper()转换大写 split()拆分
replace str中的任意一个子串替换成新的子串 返回字符串
6. 格式化:
%s,表示字符串;
%d,表示整数;
%f,表示浮点数
%,表示一个占位符
7. .format(<逗号分隔的参数>)
二.
1.List(列表)
列表是序列类型的一种扩展
列表是一种序列类型,创建后可以随意被修改
使用方括号 [] 或list() 创建,元素间用逗号 , 分隔
列表中各元素类型可以不同,无长度限制
-
list01 = [1,2,3,4]"""[] 空列表list() 里面什么都没有,创建空列表list(["张三","李四"])"""list02 = list() #[]list03 = list(["张三","李四"])print(list01)print(list02)print(list03)list04 = [12.3,10,3.14e2,"张三"]print(list04) #[12.3, 10, 314.0, '张三']
2.常用函数:
len(列表) 统计列表中元素的个数
sum(列表) 求和
max(列表) 最大值
min(列表) 最小值
#创建list
list01 = [1,2,5,7,-2,-9]#len(列表) 统计列表中元素的个数
a = len(list01)
print(a) #6#sum(列表) 求和
b = sum(list01)
print(b) #4#max(列表) 最大值
c= max(list01)
print(c) #7
#min(列表) 最小值
d = min(list01)
print(d) #9
3.增:
list.insert(index,值) 根据下标进行插入数据
list.append(值) 在末尾插入
#创建
list01 = ["zz","dd,"hh","bb","pp"]#list.insert(index,值) 根据下标进行插入数据
list01.insert(1,"yy")
print(list01) #['zz', 'yy', 'dd', 'hh', 'bb', 'pp
#list.append(值) 在末尾插入
list01.append("lisa")
print(list01) # ['zz', 'yy', 'dd', 'hh', 'bb', 'pp', 'lisa']
4.删:
list.pop(index) 删除指定位置的数据
list.remove(值) 删除值
list.clear() 删除所有数据
#创建
list01 = ["zz","dd","hh","lisa","bb","pp","zz"]#list.pop(index) 删除指定位置的数据
list01.pop(3)
print(list01) #['zz', 'dd', 'hh', 'bb', 'pp', 'zz']#list.remove(值) 删除值,但是他删除的是值第一次出现的位置
list01.remove("zz")
print(list01) #['dd', 'hh', 'bb', 'pp', 'zz']#list.clear() 删除所有数据
list01.clear()
print(list01) #[]
5.改:
List[i] = 值(要修改的值
#重新进行赋值
list01[3] = "yy"
print(list01) #['zz', 'dd', 'hh', 'yy', 'bb', 'pp', 'zz']
6.查:
查询所有 ---直接打印列表名字
查询单个值 利用[index]进行查询 index-->从0开始
查询多个值 [start:stop] 左开右闭
#创建list
list01 = [1,2,5,7,-2,-9]#查询所有 ---直接打印列表名字
print(list01)
"""查询单个值利用[index]进行查询 index-->从0开始
"""
print(list01[1]) #2
"""
三:
元组 (tuple)
1.概念:
元组是一种序列类型,一旦创建就不能被修改 不能增删改
使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔
创建
-
使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔
-
#创建
tuple01 = (1,2,3)tuple02 = tuple() #空元组 ()tuple03 = tuple((5,6,7))print(tuple01)print(tuple02)print(tuple03)
四 set集合
概念
集合是多个元素的无序(没有下标)组合
集合类型与数学中的集合概念一致
集合元素之间无序,每个元素唯一,不存在相同元素
集合元素不可更改,不能是可变数据类型
为什么? 无序唯一
创建
-
集合用大括号 {} 表示,元素间用逗号分隔
-
建立集合类型用 {} 或 set()
-
建立空集合类型,必须使用set()
-
● #创建 ● set01 = {1,2,3,4,5} ● set02 = set() #set() ● set03 = set({9,10,11}) ● print(set01) ● print(set02) ● print(set03)
-
空列表 []
-
空元组 ()
-
空字典 {}
-
空集合 set()
-
原因是字典的创建也是{},两者冲突了
-
所以我们的空集合是set(),创建空集合的时候必须使用set()
-
● print(type({})) #<class 'dict'> ● print(type(set())) #<class 'set'>
增
-
set.add(数据) 添加一个数据 不也能添加已有的数据,虽然不报错,但是不显示
#创建
set01 = {"花木兰","貂蝉","妲己","王昭君"}set01.add("杨玉环")print(set01) #{'花木兰', '王昭君', '貂蝉', '妲己', '杨玉环'}set01.add("花木兰")print(set01) #{'花木兰', '杨玉环', '王昭君', '妲己', '貂蝉'}
set01.update(set02) 批量添加数据
把set02添加到zet01中
set02 = {"嬴政","武则天"}
set01.update(set02)
print(set01) #{'花木兰', '嬴政', '杨玉环', '妲己', '王昭君', '武则天', '貂蝉'}
改
不可以更改数据
集合元素不可更改,不能是可变数据类型
为什么? 无序唯一
查
直接打印集合名字去查询
不能使用索引进行查询,因为我们集合是无序的
print(set01)
print(set02)
print(set03)
#创建set01 = {"喜羊羊","美羊羊","懒洋洋","沸羊羊","暖羊羊","慢羊羊","灰太狼"}#set.copy() 复制/拷贝一个一模一样的集合set02 = set01.copy()print(set02) #{'慢羊羊', '美羊羊', '灰太狼', '喜羊羊', '沸羊羊', '暖羊羊', '懒洋洋'}#len(set) 返回集合的元素个数,集合的长度a = len(set01)print(a) #7"""x in set 元素x在不在集合当中x not in set 元素不在集合中"""print("慢羊羊" in set01) #Trueprint("慢羊羊" not in set01) #False#set(x) 把其他数据类型(x)转换成集合类型 Str = "hello"print(Str) #helloprint(type(Str))b = set(Str)print(type(b)) #<class 'set'>print(b) #{'o', 'e', 'h', 'l'}
重点
并
"""
1.他的符号是 |
2.返回两个集合的所有值
"""
print(set01 | set02) #{1,2,3,4,5,7,9}
差
"""
差
1.差的符号是 -
2.set01 - set02 set01去掉公共部分的值
"""
print(set01 - set02) #{1, 4}
print(set02 - set01) #{9, 7}
交
"""
交
1.交的符号 &
2.两个的公共部分
"""
print(set01 & set02) #{2, 3, 5}
补
"""
补集
1.补集的符号 ^
2.并集-交集 = 补集
3.除去公共部分,set01和set02的单独部分我都要
"""
print(set01 ^ set02) #{1, 4, 7, 9}
五.字典
概念
-
映射是一种键(索引)和值(数据)的对应
"""
映射
key value
张三 18
李四 20
王五 80
"""
"""
[1,2,3,4]
索引 0 1 2 3
"""
创建
-
键值对:键是数据索引的扩展
-
字典是键值对的集合,键值对之间无序(没有索引)
-
采用大括号{}和dict()创建,键值对用冒号: 表示
-
字典类型是“映射”的体现
-
<字典变量> = {<键1>:<值1>, … , <键n>:<值n>}
#创建dict01 = {"张三":18,"李四":20,"王五":80}dict02 = dict()dict03 = dict({"张三":90,"李四":20})print(dict01) #{'张三': 18, '李四': 20, '王': 80}print(dict02) #{}print(dict03) #{'张三': 90, '李四': 20}
增
"""
dict01[新的key] = 新的值 添加数据
"""
dict01["小乔"] = "天魔缭乱"print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船', '元哥': '无敌时间移位', '小乔': '天魔缭乱'}
删
"""
dict.pop(key) 根据key删除一对数据
dict.clear() 清除所有数据
"""
dict01.pop("元哥")print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船'}
改
"""
只能修改值,不可以修改key
为什么:因为key是唯一的,不能重复的,避免出现重复的情况所以不能修改
怎么修改:
先根据key拿到值 dict01["孙策"]
再重新赋值
"""
dict01["孙策"] = "乘风破浪"print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '乘风破浪', '元哥': '无敌时间移位'}
查
#创建
dict01["孙策"] = "乘风破浪"print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '乘风破浪', '元哥': '无敌时间移位'}
# dict.keys() 查看所有的key(英雄)
print(dict01.keys()) #dict_keys(['鲁班', '花木兰', '孙策', '元哥'])
# dict.values() 查询所有的value(大招)
print(dict01.values()) #dict_values(['空中支援', '切换形态', '开船', '无敌时间移位'])
"""
查询单个值
1.dict[key] 利用key查询value
2.dict.get(key,默认值) 利用key查询value 如果key没有,那么就输出默认值
"""
print(dict01["花木兰"]) #切换形态print(dict01.get("花木兰")) #切换形态print(dict01.get("貂蝉","没有此英雄,请购买")) #没有此英雄,请购买
"""
查询所有值(包括key和value)
1.直接打印字典名
2.dict.items() 迭代方法
"""
print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船', '元哥': '无敌时间移位'}print(dict01.items()) #dict_items([('鲁班', '空中支援'), ('花木兰', '切换形态'), ('孙策', '开船'), ('元哥', '无敌时间移位')])
"""
k in dict key在不在字典里面
如果在输出True 如果不在输出False
为什么 20 in dict0
原因是他只能判断key在不在,不能判断value在不在
"""
"""
del 字典名[key] 删除指定位置的数据
和pop一样
dict.pop(key) 删除指定位置的数据
"""
第三章笔记
一.
1.字符串:
概念:由0个或多个字符组成的有序字符序列
由' ' 或" "表示
使用[ ]获取一个或单个字符 例如:[-1:5]
2.索引:返回字符串中单个字符
切片:返回字符串中一段字符子串
左开右闭 正向递增 反向递减
3.转义符:
"\b"回退
"\n"换行(光标移动到下行首)
"\r" 回车(光标移动到本行首)
4. 常用函数
len()获取长度 str() 把任意数据类型转换成string
Type()输出数据类型的
5.lower() 转换小写 upper()转换大写 split()拆分
replace str中的任意一个子串替换成新的子串 返回字符串
6. 格式化:
%s,表示字符串;
%d,表示整数;
%f,表示浮点数
%,表示一个占位符
7. .format(<逗号分隔的参数>)
二.
1.List(列表)
列表是序列类型的一种扩展
列表是一种序列类型,创建后可以随意被修改
使用方括号 [] 或list() 创建,元素间用逗号 , 分隔
列表中各元素类型可以不同,无长度限制
-
list01 = [1,2,3,4]"""[] 空列表list() 里面什么都没有,创建空列表list(["张三","李四"])"""list02 = list() #[]list03 = list(["张三","李四"])print(list01)print(list02)print(list03)list04 = [12.3,10,3.14e2,"张三"]print(list04) #[12.3, 10, 314.0, '张三']
2.常用函数:
len(列表) 统计列表中元素的个数
sum(列表) 求和
max(列表) 最大值
min(列表) 最小值
#创建list
list01 = [1,2,5,7,-2,-9]#len(列表) 统计列表中元素的个数
a = len(list01)
print(a) #6#sum(列表) 求和
b = sum(list01)
print(b) #4#max(列表) 最大值
c= max(list01)
print(c) #7
#min(列表) 最小值
d = min(list01)
print(d) #9
3.增:
list.insert(index,值) 根据下标进行插入数据
list.append(值) 在末尾插入
#创建
list01 = ["zz","dd,"hh","bb","pp"]#list.insert(index,值) 根据下标进行插入数据
list01.insert(1,"yy")
print(list01) #['zz', 'yy', 'dd', 'hh', 'bb', 'pp
#list.append(值) 在末尾插入
list01.append("lisa")
print(list01) # ['zz', 'yy', 'dd', 'hh', 'bb', 'pp', 'lisa']
4.删:
list.pop(index) 删除指定位置的数据
list.remove(值) 删除值
list.clear() 删除所有数据
#创建
list01 = ["zz","dd","hh","lisa","bb","pp","zz"]#list.pop(index) 删除指定位置的数据
list01.pop(3)
print(list01) #['zz', 'dd', 'hh', 'bb', 'pp', 'zz']#list.remove(值) 删除值,但是他删除的是值第一次出现的位置
list01.remove("zz")
print(list01) #['dd', 'hh', 'bb', 'pp', 'zz']#list.clear() 删除所有数据
list01.clear()
print(list01) #[]
5.改:
List[i] = 值(要修改的值
#重新进行赋值
list01[3] = "yy"
print(list01) #['zz', 'dd', 'hh', 'yy', 'bb', 'pp', 'zz']
6.查:
查询所有 ---直接打印列表名字
查询单个值 利用[index]进行查询 index-->从0开始
查询多个值 [start:stop] 左开右闭
#创建list
list01 = [1,2,5,7,-2,-9]#查询所有 ---直接打印列表名字
print(list01)
"""查询单个值利用[index]进行查询 index-->从0开始
"""
print(list01[1]) #2
"""
三:
元组 (tuple)
1.概念:
元组是一种序列类型,一旦创建就不能被修改 不能增删改
使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔
创建
-
使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔
-
#创建
tuple01 = (1,2,3)tuple02 = tuple() #空元组 ()tuple03 = tuple((5,6,7))print(tuple01)print(tuple02)print(tuple03)
四 set集合
概念
集合是多个元素的无序(没有下标)组合
集合类型与数学中的集合概念一致
集合元素之间无序,每个元素唯一,不存在相同元素
集合元素不可更改,不能是可变数据类型
为什么? 无序唯一
创建
-
集合用大括号 {} 表示,元素间用逗号分隔
-
建立集合类型用 {} 或 set()
-
建立空集合类型,必须使用set()
-
● #创建 ● set01 = {1,2,3,4,5} ● set02 = set() #set() ● set03 = set({9,10,11}) ● print(set01) ● print(set02) ● print(set03)
-
空列表 []
-
空元组 ()
-
空字典 {}
-
空集合 set()
-
原因是字典的创建也是{},两者冲突了
-
所以我们的空集合是set(),创建空集合的时候必须使用set()
-
● print(type({})) #<class 'dict'> ● print(type(set())) #<class 'set'>
增
-
set.add(数据) 添加一个数据 不也能添加已有的数据,虽然不报错,但是不显示
#创建
set01 = {"花木兰","貂蝉","妲己","王昭君"}set01.add("杨玉环")print(set01) #{'花木兰', '王昭君', '貂蝉', '妲己', '杨玉环'}set01.add("花木兰")print(set01) #{'花木兰', '杨玉环', '王昭君', '妲己', '貂蝉'}
set01.update(set02) 批量添加数据
把set02添加到zet01中
set02 = {"嬴政","武则天"}
set01.update(set02)
print(set01) #{'花木兰', '嬴政', '杨玉环', '妲己', '王昭君', '武则天', '貂蝉'}
改
不可以更改数据
集合元素不可更改,不能是可变数据类型
为什么? 无序唯一
查
直接打印集合名字去查询
不能使用索引进行查询,因为我们集合是无序的
print(set01)
print(set02)
print(set03)
#创建set01 = {"喜羊羊","美羊羊","懒洋洋","沸羊羊","暖羊羊","慢羊羊","灰太狼"}#set.copy() 复制/拷贝一个一模一样的集合set02 = set01.copy()print(set02) #{'慢羊羊', '美羊羊', '灰太狼', '喜羊羊', '沸羊羊', '暖羊羊', '懒洋洋'}#len(set) 返回集合的元素个数,集合的长度a = len(set01)print(a) #7"""x in set 元素x在不在集合当中x not in set 元素不在集合中"""print("慢羊羊" in set01) #Trueprint("慢羊羊" not in set01) #False#set(x) 把其他数据类型(x)转换成集合类型 Str = "hello"print(Str) #helloprint(type(Str))b = set(Str)print(type(b)) #<class 'set'>print(b) #{'o', 'e', 'h', 'l'}
重点
并
"""
1.他的符号是 |
2.返回两个集合的所有值
"""
print(set01 | set02) #{1,2,3,4,5,7,9}
差
"""
差
1.差的符号是 -
2.set01 - set02 set01去掉公共部分的值
"""
print(set01 - set02) #{1, 4}
print(set02 - set01) #{9, 7}
交
"""
交
1.交的符号 &
2.两个的公共部分
"""
print(set01 & set02) #{2, 3, 5}
补
"""
补集
1.补集的符号 ^
2.并集-交集 = 补集
3.除去公共部分,set01和set02的单独部分我都要
"""
print(set01 ^ set02) #{1, 4, 7, 9}
五.字典
概念
-
映射是一种键(索引)和值(数据)的对应
"""
映射
key value
张三 18
李四 20
王五 80
"""
"""
[1,2,3,4]
索引 0 1 2 3
"""
创建
-
键值对:键是数据索引的扩展
-
字典是键值对的集合,键值对之间无序(没有索引)
-
采用大括号{}和dict()创建,键值对用冒号: 表示
-
字典类型是“映射”的体现
-
<字典变量> = {<键1>:<值1>, … , <键n>:<值n>}
#创建dict01 = {"张三":18,"李四":20,"王五":80}dict02 = dict()dict03 = dict({"张三":90,"李四":20})print(dict01) #{'张三': 18, '李四': 20, '王': 80}print(dict02) #{}print(dict03) #{'张三': 90, '李四': 20}
增
"""
dict01[新的key] = 新的值 添加数据
"""
dict01["小乔"] = "天魔缭乱"print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船', '元哥': '无敌时间移位', '小乔': '天魔缭乱'}
删
"""
dict.pop(key) 根据key删除一对数据
dict.clear() 清除所有数据
"""
dict01.pop("元哥")print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船'}
改
"""
只能修改值,不可以修改key
为什么:因为key是唯一的,不能重复的,避免出现重复的情况所以不能修改
怎么修改:
先根据key拿到值 dict01["孙策"]
再重新赋值
"""
dict01["孙策"] = "乘风破浪"print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '乘风破浪', '元哥': '无敌时间移位'}
查
#创建
dict01["孙策"] = "乘风破浪"print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '乘风破浪', '元哥': '无敌时间移位'}
# dict.keys() 查看所有的key(英雄)
print(dict01.keys()) #dict_keys(['鲁班', '花木兰', '孙策', '元哥'])
# dict.values() 查询所有的value(大招)
print(dict01.values()) #dict_values(['空中支援', '切换形态', '开船', '无敌时间移位'])
"""
查询单个值
1.dict[key] 利用key查询value
2.dict.get(key,默认值) 利用key查询value 如果key没有,那么就输出默认值
"""
print(dict01["花木兰"]) #切换形态print(dict01.get("花木兰")) #切换形态print(dict01.get("貂蝉","没有此英雄,请购买")) #没有此英雄,请购买
"""
查询所有值(包括key和value)
1.直接打印字典名
2.dict.items() 迭代方法
"""
print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船', '元哥': '无敌时间移位'}print(dict01.items()) #dict_items([('鲁班', '空中支援'), ('花木兰', '切换形态'), ('孙策', '开船'), ('元哥', '无敌时间移位')])
"""
k in dict key在不在字典里面
如果在输出True 如果不在输出False
为什么 20 in dict0
原因是他只能判断key在不在,不能判断value在不在
"""
"""
del 字典名[key] 删除指定位置的数据
和pop一样
dict.pop(key) 删除指定位置的数据
"""
本文标签: 第三章笔记
版权声明:本文标题:第三章笔记 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1694652442a254552.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论