1 Star 0 Fork 0

心鹏编程 / 心鹏Python语言仓库

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
text.py 4.80 KB
一键复制 编辑 原始数据 按行查看 历史
心鹏编程 提交于 2024-04-03 22:14 . 集合和字典
# 集合
# 集合相比列表、元组、字符串,最大的特点就是:集合不支持元素重复,也就是带去重功能,不支持下标索引,并且元素无序,但是支持元素修改
# 定义语法:变量名 = {元素,元素...},空集合:变量名 = set(),注意集合里的元素不能为列表,字典,而且集合也不能嵌套另一个集合
my_set = ()
my_set = {123, "星星", 8.8, (2, 3)} # <class 'set'> {8.8, 123, (2, 3), '星星'}
print(type(my_set), my_set)
# 集合.add(元素)方法,将指定元素添加到集合内,一次只能传一个元素
my_set.add('爱')
print(my_set)
# 集合.remove(元素)方法,将指定元素从集合内移除,一次也只能传一个元素
my_set.remove('爱')
print(my_set) # {'星星', 8.8, (2, 3), 123}
# 集合.pop()方法,不传参,随机从集合里取出元素,并且取出的元素会从集合里消失
element = my_set.pop()
print(element, my_set) # 8.8 {(2, 3), '星星', 123}
# 集合.clear()方法,清空集合
my_set.clear()
print(my_set) # set()
# 集合1.difference(集合2),取出集合1有的而集合2没有的元素,也叫集合1和集合2的差集,然后返回差集的集合,并且集合1和集合2不会被修改
set1 = {1, 3, 6, 7, 8}
set2 = {2, 3, 5, 6, 7}
set3 = set1.difference(set2)
print(set1) # {1, 3, 6, 7, 8}
print(set2) # {2, 3, 5, 6, 7}
print(set3) # {8, 1}
# 集合1.difference_update(集合2),在集合1内消除与集合2相同的元素,所以集合1会被修改而集合2不会
set1.difference_update(set2)
print(set1) # {1, 8}
print(set2) # {2, 3, 5, 6, 7}
# 集合1.union(集合2),返回由集合1和集合2组合成的新集合,而集合1和集合2不会发生变化
set1 = {1, 3, 6, 7, 8}
set2 = {2, 3, 5, 6, 7}
set3 = set1.union(set2)
print(set1) # {1, 3, 6, 7, 8}
print(set2) # {2, 3, 5, 6, 7}
print(set3) # {1, 2, 3, 5, 6, 7, 8} *这里重复元素被去重
# len(集合),返回元素个数
print(f"{set3}{len(set3)}个元素") # {1, 2, 3, 5, 6, 7, 8}有7个元素
# 集合遍历
for n in set3:
print(n, end=' ') # 1 2 3 5 6 7 8
print()
# 字典
# 字典语法也是使用{},存储的元素是一个个键值对 字典名 = {key:value, key:value, ...key: value}
# 字典中的key不语序重复,但是重复不会导致报错,重复的key后面的会覆盖前面内容,另外,字典支持嵌套字典使用,支持元素修改
# 字典不支持下标索引,唯一的引用方式是通过key来取得对应的value,而key可以为除列表、集合、字典以外类型,比如整形、浮点型、字符型、元组类型
my_dict = {} # 空字典定义方式1
my_dict = dict() # 空字典定义方式2
my_dict = {1: 85, 2.0: 95, (3): 90, 'a': 100} # <class 'dict'> {1: 85, 2.0: 95, 3: 90, 'a': 100}
my_dict = {"小明": 85, "小美": 95, "小王": 90}
print(type(my_dict), my_dict) # <class 'dict'> {'小明': 85, '小美': 95, '小王': 90}
# 语法:字典[key] 可以返回key对应的value值
print(my_dict["小明"]) # 85
# 字典的嵌套,即value对应的地方为一个字典
my_dict = {
"小明": {"语文": 80, "数学": 90, "英语": 79},
"小美": {"语文": 95, "数学": 90, "英语": 99},
"小王": {"语文": 90, "数学": 95, "英语": 85}
}
print(my_dict)
# {'小明': {'语文': 80, '数学': 90, '英语': 79}, '小美': {'语文': 95, '数学': 90, '英语': 99},
# '小王': {'语文': 90, '数学': 95, '英语': 85}}
print(my_dict['小美']) # {'语文': 95, '数学': 90, '英语': 99}
# 通过 字典[key][key]即可引用对应嵌套字典的value值
print(my_dict["小美"]["数学"]) # 90
# 使用 字典[key] = value
# 1.如果key存在,即修改对应的value值。2.如果key不存在,即新增一个元素
my_dict = {"小明": 85, "小美": 95, "小王": 90}
my_dict["小明"] = 100
print(my_dict) # '小明': 100, '小美': 95, '小王': 90}
my_dict["小红"] = 99
print(my_dict) # {'小明': 100, '小美': 95, '小王': 90, '小红': 99}
# 字典.pop(key)方法,取出key对应的value值,同时字典中该键值对被消除
element = my_dict.pop("小美")
print(my_dict) # {'小明': 100, '小王': 90, '小红': 99}
print(element) # 95
# 语法 len(字典) 可以返回字典的元素数量,即键值对数
print(len(my_dict)) # 3
# 字典.clear()方法,清空字典
my_dict.clear()
print(my_dict) # {}
# 字典.keys()方法,返回字典中的全部key,返回类型为 dict_keys ,原字典不变化
my_dict = {"小明": 85, "小美": 95, "小王": 90}
element = my_dict.keys()
print(type(element), my_dict) # <class 'dict_keys'> {'小明': 85, '小美': 95, '小王': 90}
# keys方法可以搭配for循环达到遍历字典的效果
for key in my_dict.keys():
print(my_dict[key], end=' ') # 85 95 90
print()
# 也可以直接使用for循环达到遍历效果
for key in my_dict:
print(my_dict[key], end=' ') # 85 95 90
Python
1
https://gitee.com/XinPeng-program/python-language.git
git@gitee.com:XinPeng-program/python-language.git
XinPeng-program
python-language
心鹏Python语言仓库
master

搜索帮助