企业网站做优化排名象客,购物网站的经营要素,百度竞价sem入门教程,全网营销型推广网站建设他往黑夜里去了#xff0c;我陪他 ——24.2.4 一、set集合
1.为什么使用集合#xff1f; 通过特性来分析#xff1a; 列表可修改、支持重复元素且有序 元组、字符串不可修改、支持重复元素且有序 局限在于#xff1a;它们都支持重复元素 当场景需要对内容进行去重处理我陪他 ——24.2.4 一、set集合
1.为什么使用集合 通过特性来分析 列表可修改、支持重复元素且有序 元组、字符串不可修改、支持重复元素且有序 局限在于它们都支持重复元素 当场景需要对内容进行去重处理列表、元组、字符串就不方便了 而集合最主要的特点是不支持重复元素自带去重功能并且内容无序 2.集合的定义 基本语法 # 定义集合字面量 {元素元素……元素} # 定义集合变量 变量名称 {元素元素……元素} # 定义空集合 变量名称 set() 和列表、元组、字符串等定义基本相同 列表使用[] 元组使用() 字符串使用 集合使用{} #定义集合
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set_empty set() #定义空集合
print(fmy_set的内容是:{my_set},类型是:{type(my_set)})
print(fmy_set的内容是:{my_set_empty},类型是:{type(my_set_empty)}) 3.集合的使用 集合的常用操作——修改 首先因为集合是无序的所以集合不支持下标索引访问 但是集合和列表一样是允许修改的集合的修改方法如下 ①添加新元素 语法集合.add(元素) 功能将指定元素添加到集合内 结果集合本身被修改添加了新元素 #添加新元素
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set.add(苦难是花开的伏笔)
print(fmy_set添加元素后的结果是{my_set}) ②移除元素 语法集合.remove(元素) 功能将指定元素从集合内删除 结果集合本身被修改移除了元素 #移除指定元素
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set.remove(未来可期)
print(fmy_set删除元素万事胜意后的结果是:{my_set}) ③从集合中随机取出元素 语法集合.pop() 功能从集合中随机取出一个元素 结果会得到一个元素的结果。同时集合本身被修改元素被移除 #随机取出一个元素
my_set {一切都会好的,万事胜意,未来可期}
element my_set.pop()
print(f集合被取出元素是:{element},取出元素后的集合是{my_set}) ④清空集合 语法集合.clear() 功能清空集合 结果集合本身被清空 #清空集合clear
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set.clear()
print(f集合被清空后的结果是{my_set}) ⑤求出2个集合的差集 语法:集合1.difference(集合2) 功能取出集合1和集合2的差集集合1有而集合2没有的 结果得到一个新集合集合1和集合2不变 #取出2个集合的差集
my_set1 {一切都会好的,万事胜意,未来可期}
my_set2 {一切都会好的,万事胜意,未来可期,我一直相信,苦难是花开的伏笔}
my_set3 my_set2.difference(my_set1)
print(f集合2有而集合1没有的元素是{my_set3}) ⑥消除2个集合的差集 语法集合1.difference_update(集合2) 功能对比集合1和集合2在集合1内删除和集合2相同的元素 结果集合1被修改集合2不变 #消除两个集合的差集
my_set1 {一切都会好的,万事胜意,未来可期}
my_set2 {一切都会好的,万事胜意,我一直相信,苦难是花开的伏笔}
my_set1.difference_update(my_set2)
print(f集合2是:{my_set2})
print(f集合1是:{my_set1}) ⑦两个集合合并 语法集合1.union(集合2) 功能将集合1和集合2组合成新集合 结果得到新集合集合1和集合2不变 #两个集合合并成一个集合
set1 {1,2,3,4,7}
set2 {2,5,6,7,8}
set3 set1.union(set2)
print(f集合1是:{set1})
print(f集合2是:{set2})
print(f集合3是:{set3}) ⑧统计集合中的元素数量 语法len(集合名) 功能统计集合中有几个元素 结果得到集合中的元素个数 #统计集合中的元素数量len()
my_set {一切都会好的,万事胜意,我一直相信,苦难是花开的伏笔}
num len(my_set)
print(fmy_set中共有{num}个元素) ⑨集合的遍历 集合不支持下标索引所以不能使用while循环 但是可以使用for循环 #集合的遍历for循环
set1 {1,2,3,4,7}
for i in set1:print(f集合中的元素有{i}) ⑩总结 # 演示数据容器集合的使用#定义集合
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set_empty set() #定义空集合
print(fmy_set的内容是:{my_set},类型是:{type(my_set)})
print(fmy_set的内容是:{my_set_empty},类型是:{type(my_set_empty)})#添加新元素
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set.add(苦难是花开的伏笔)
print(fmy_set添加元素后的结果是:{my_set})#移除指定元素
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set.remove(未来可期)
print(fmy_set删除元素万事胜意后的结果是:{my_set})#随机取出一个元素
my_set {一切都会好的,万事胜意,未来可期}
element my_set.pop()
print(f集合被取出元素是:{element},取出元素后的集合是{my_set})#清空集合clear
my_set {一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信}
my_set.clear()
print(f集合被清空后的结果是{my_set})#取出2个集合的差集
my_set1 {一切都会好的,万事胜意,未来可期}
my_set2 {一切都会好的,万事胜意,未来可期,我一直相信,苦难是花开的伏笔}
my_set3 my_set2.difference(my_set1)
print(f集合2有而集合1没有的元素是{my_set3})#消除两个集合的差集
my_set1 {一切都会好的,万事胜意,未来可期}
my_set2 {一切都会好的,万事胜意,我一直相信,苦难是花开的伏笔}
my_set1.difference_update(my_set2)
print(f集合2是:{my_set2})
print(f集合1是:{my_set1})#两个集合合并成一个集合
set1 {1,2,3,4,7}
set2 {2,5,6,7,8}
set3 set1.union(set2)
print(f集合1是:{set1})
print(f集合2是:{set2})
print(f集合3是:{set3})#统计集合中的元素数量len()
my_set {一切都会好的,万事胜意,我一直相信,苦难是花开的伏笔}
num len(my_set)
print(fmy_set中共有{num}个元素)#集合的遍历for循环
set1 {1,2,3,4,7}
for i in set1:print(f集合中的元素有{i})4.集合的特点 ①可以容纳多个数据 ②可以容纳不同类型的数据混装 ③数据是无序存储的不支持下标索引 ④不允许重复数据存在 ⑤可以修改增加或删除元素等 ⑥支持for循环 5.练习——信息去重 有如下列表对象 my_list [一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信,苦难是花开的伏笔,一切都会好的,我一直相信] 要求 ①定义一个空集合 ②通过for循环遍历列表 ③在for循环中将列表的元素添加至集合 ④最终得到元素去重后的集合对象并打印输出 #定义一个空集合
my_set set()
#for循环遍历链表
my_list [一切都会好的,万事胜意,未来可期,我一直相信,一切都会好的,万事胜意,未来可期,我一直相信,苦难是花开的伏笔,一切都会好的,我一直相信]
for i in my_list:#添加元素到集合内部my_set.add(i)#最终打印出来
print(f通过for循环遍历去重后的链表为{my_set}) 二、dict字典
1.为什么使用字典 使用字典可以通过用一个key数据取出对应的value数据的值 2.字典的定义 字典的定义同样使用{}不过存储的元素是一个个的键值对如下语法 #定义字典字面量 {key:value,key:value,……,key:value} #定义字典变量 my_dict {key:value,key:value,……,key:value} #定义空字典 my_dict {} # 空字典定义方式1 my_dict dict() # 空字典定义方式2 # 定义字典
my_dict1 {张三:27,李四:19,王五:23}# 定义空字典
my_dict2 {}
my_dict3 dict()
print(f字典1的内容是:{my_dict1},类型:{type(my_dict1)})
print(f字典2的内容是:{my_dict2},类型:{type(my_dict2)})
print(f字典3的内容是:{my_dict3},类型:{type(my_dict3)})# 定义重复key的字典
my_dict4 {张三:99,李四:81,张三:27}
print(f重复字典为{my_dict4}) 3.字典数据的获取 字典同集合一样不可以使用下标索引 但是字典可以通过key值来取得对应的value 语法字典[key]可以取到对应的value # 从字典中基于key获取value
my_dict1 {张三:27,李四:19,王五:23}
print(my_dict1[张三])
print(my_dict1[李四])
print(my_dict1[王五])
age1 my_dict1[张三]
print(f张三的年纪为{age1}) 4.字典的嵌套 字典的key和value可以是任意数据类型key不可为字典 那么就表明字典是可以嵌套的 # 定义嵌套字典
stu_score_dict {王里宏:{语文:77,数学:66,英语:33},周杰论:{语文:88,数学:86,英语:55},林俊节:{语文:99,数学:96,英语:66}
}
print(f学生的考试信息为{stu_score_dict})5.从嵌套字典中获取数据
# 定义嵌套字典
stu_score_dict {王里宏:{语文:77,数学:66,英语:33},周杰论:{语文:88,数学:86,英语:55},林俊节:{语文:99,数学:96,英语:66}
}
print(f学生的考试信息为{stu_score_dict})# 从嵌套字典中获取数据
score stu_score_dict[周杰论][数学]
print(f周杰论的数学信息是{score}) 6.字典的常用操作 1.新增元素 语法字典[key] value 结果字典被修改新增了元素 #新增元素
my_dict {张三:99,李四:85,王五:77}
my_dict[小明] 67
print(f字典经过更新元素后的结果是{my_dict})2.更新元素 语法字典[key] value 结果字典被修改元素被更新 注意字典key不可以重复所以对已存在的key执行上述操作就是更新value的值 #更新元素
my_dict {张三:99,李四:85,王五:77}
my_dict[张三] 87
print(f字典经过更新元素后的结果是{my_dict})3.删除元素 语法字典.pop(key) 结果获得指定key的value同时字典被修改指定key的数据被删除 #删除元素
my_dict {张三:99,李四:85,王五:77}
score my_dict.pop(王五)
print(f字典中被移除一个元素后结果是{my_dict},王五的考试分数是{score})4.清空元素 语法字典名.clear #清空元素
my_dict.clear()
print(f字典被清空后是{my_dict}) 5.获取全部的key 语法字典.keys(),结果得到字典中的全部key #获取全部的key
my_dict {张三:99,李四:85,王五:77}
keys my_dict.keys()
print(f字典中的key值有:{keys}) 6.遍历字典 获取全部的key通过全部的key对字典进行遍历 语法 for key in keys/字典名: #获取全部的key
my_dict {张三:99,李四:85,王五:77}
keys my_dict.keys()
print(f字典中的key值有:{keys})#遍历字典
for key in keys:print(f字典的key是{key})print(f字典的value是{my_dict[key]}) 7.统计字典内的元素数量 语法len字典名 #统计字典内的元素数量
num len(my_dict)
print(f字典内的元素数量是{num}) 7.字典的特点 ①可以容纳多个数据 ②可以容纳不同类型的数据 ③每一份数据是KeyValue键值对 ④可以通过key获取到valuekey不可重复重复会覆盖 ⑤不支持下标索引 ⑥可以修改增加或删除更新元素等 ⑦支持for循环不支持while循环 8.练习——升职加薪 有如下员工信息请使用字典完成数据的记录 并通过for循环对所有级别为1级的员工级别上升一级薪水增加1000元 # 演示字典的课后练习升职加薪对所有级别为1级的员工级别上升1级薪水增加1000元# 组织字典记录数据
info_dict {王力鸿:{部门:科技部,工资:3000,级别:1},周杰轮:{部门: 市场部,工资: 5000,级别: 2},林俊节:{部门: 市场部,工资: 7000,级别: 3},张学油:{部门: 科技部,工资: 4000,级别: 1},刘德滑:{部门: 市场部,工资: 6000,级别: 2}
}print(f员工在升值加薪之前的结果{info_dict})# for循环遍历字典
for i in info_dict:#if条件判断符合条件员工if info_dict[i][级别] 1:#升职加薪操作#获取到员工的信息字典employee_info_dict info_dict[i]#修改员工信息employee_info_dict[级别] 2 #级别1employee_info_dict[工资] 1000 #工资1000#将员工信息更新回info_dictinfo_dict[i] employee_info_dict# 输出结果
print(f对员工进行升职加薪后的结果是:{info_dict}) 文章转载自: http://www.morning.xpzkr.cn.gov.cn.xpzkr.cn http://www.morning.ktsth.cn.gov.cn.ktsth.cn http://www.morning.mtyhk.cn.gov.cn.mtyhk.cn http://www.morning.wmdqc.com.gov.cn.wmdqc.com http://www.morning.qmzhy.cn.gov.cn.qmzhy.cn http://www.morning.nqnqz.cn.gov.cn.nqnqz.cn http://www.morning.rshkh.cn.gov.cn.rshkh.cn http://www.morning.rccbt.cn.gov.cn.rccbt.cn http://www.morning.nwnbq.cn.gov.cn.nwnbq.cn http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn http://www.morning.rsdm.cn.gov.cn.rsdm.cn http://www.morning.lsssx.cn.gov.cn.lsssx.cn http://www.morning.jjhng.cn.gov.cn.jjhng.cn http://www.morning.khpx.cn.gov.cn.khpx.cn http://www.morning.kbbmj.cn.gov.cn.kbbmj.cn http://www.morning.ncrk.cn.gov.cn.ncrk.cn http://www.morning.xyrw.cn.gov.cn.xyrw.cn http://www.morning.bdgb.cn.gov.cn.bdgb.cn http://www.morning.bmyrl.cn.gov.cn.bmyrl.cn http://www.morning.mswkd.cn.gov.cn.mswkd.cn http://www.morning.pdgqf.cn.gov.cn.pdgqf.cn http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn http://www.morning.xckqs.cn.gov.cn.xckqs.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.bxczt.cn.gov.cn.bxczt.cn http://www.morning.wlsrd.cn.gov.cn.wlsrd.cn http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn http://www.morning.ljngm.cn.gov.cn.ljngm.cn http://www.morning.kstlm.cn.gov.cn.kstlm.cn http://www.morning.lbqt.cn.gov.cn.lbqt.cn http://www.morning.jbfzx.cn.gov.cn.jbfzx.cn http://www.morning.wgrl.cn.gov.cn.wgrl.cn http://www.morning.llgpk.cn.gov.cn.llgpk.cn http://www.morning.wmsgt.cn.gov.cn.wmsgt.cn http://www.morning.kdgcx.cn.gov.cn.kdgcx.cn http://www.morning.xnflx.cn.gov.cn.xnflx.cn http://www.morning.qmncj.cn.gov.cn.qmncj.cn http://www.morning.sacxbs.cn.gov.cn.sacxbs.cn http://www.morning.qsyyp.cn.gov.cn.qsyyp.cn http://www.morning.rqkk.cn.gov.cn.rqkk.cn http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn http://www.morning.enjoinfo.cn.gov.cn.enjoinfo.cn http://www.morning.cjrmf.cn.gov.cn.cjrmf.cn http://www.morning.zpfqh.cn.gov.cn.zpfqh.cn http://www.morning.ddtdy.cn.gov.cn.ddtdy.cn http://www.morning.hffjj.cn.gov.cn.hffjj.cn http://www.morning.jgykx.cn.gov.cn.jgykx.cn http://www.morning.mtdfn.cn.gov.cn.mtdfn.cn http://www.morning.stflb.cn.gov.cn.stflb.cn http://www.morning.tkztx.cn.gov.cn.tkztx.cn http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn http://www.morning.xdmsq.cn.gov.cn.xdmsq.cn http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn http://www.morning.hxxwq.cn.gov.cn.hxxwq.cn http://www.morning.rdlxh.cn.gov.cn.rdlxh.cn http://www.morning.btqqh.cn.gov.cn.btqqh.cn http://www.morning.fsnhz.cn.gov.cn.fsnhz.cn http://www.morning.pmftz.cn.gov.cn.pmftz.cn http://www.morning.ffgbq.cn.gov.cn.ffgbq.cn http://www.morning.ttryd.cn.gov.cn.ttryd.cn http://www.morning.jgmlb.cn.gov.cn.jgmlb.cn http://www.morning.hwlmy.cn.gov.cn.hwlmy.cn http://www.morning.srmdr.cn.gov.cn.srmdr.cn http://www.morning.qrqg.cn.gov.cn.qrqg.cn http://www.morning.mqwnz.cn.gov.cn.mqwnz.cn http://www.morning.kkdbz.cn.gov.cn.kkdbz.cn http://www.morning.bykqg.cn.gov.cn.bykqg.cn http://www.morning.mdwlg.cn.gov.cn.mdwlg.cn http://www.morning.yyngs.cn.gov.cn.yyngs.cn http://www.morning.zwznz.cn.gov.cn.zwznz.cn http://www.morning.pcbfl.cn.gov.cn.pcbfl.cn http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn http://www.morning.hnkkf.cn.gov.cn.hnkkf.cn http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn http://www.morning.srky.cn.gov.cn.srky.cn http://www.morning.lmtbl.cn.gov.cn.lmtbl.cn http://www.morning.jybj.cn.gov.cn.jybj.cn http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn http://www.morning.czcbl.cn.gov.cn.czcbl.cn