变量名称 = {元素,元素}
变量名称 = set()
首先,因为集合是无序的,所以集合不支持,下标索引访问。
但是集合和列表一样,是允许修改的。
#定义一个集合
my_set = {"python", "java", "go", "php", "shell"}
empty = set()
可以容纳多个数据
可以容纳不同类型的数据
数据是无序存储的
不允许重复数据存在
可以修改
支持for循环
语法:集合.add(元素)
结果:集合本身被修改,添加了新元素
my_set = {"python", "java", "go", "php", "shell"}
my_set.add("c")
print(my_set) #{'python', 'c', 'shell', 'php', 'go', 'java'}
语法:集合.remove(元素) ,将指定元素,从集合内移除
my_set.remove("python")
print(my_set) #{'java', 'c', 'shell', 'go', 'php'}
语法:集合.pop(),从集合中随机取出一个元素
my_set.pop()
print(my_set) #{'java', 'go', 'c', 'php'}
语法:集合.clear(),功能,清空集合
my_set.clear()
print(my_set)
语法:集合1.difference(集合2),功能:取出集合1和集合2的差集,集合1有集合2没有,得到一个新的集合,集合1和集合2不变。
set1 = {1,2,3}
set2 = {1,4,5}
set3 = set1.difference(set2)
print(set3) #{2, 3}
语法:集合1.difference_upate(集合2)
功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素
结果:集合1被修改,集合2不变
set1.difference_update(set2)
print(set1) #{2, 3}
print(set2) #{1, 4, 5}
语法:集合1.union(集合2)
功能:将集合1和集合2组合成新集合
set1 = {1,2,3}
set2 = {1,4,5}
set4 = set1.union(set2)
print(set4) #{1, 2, 3, 4, 5}
print(len(set1))
print(len(set2))
print(len(set4))
集合不支持下标索引,不能使用while循环
for i in set4:
print(i)
可以容纳多个数据
可以容纳不同类型的数据
每一份数据是keyvalue键值对
可以通过key获取到value,key不可重复
不支持下标索引
可以修改
支持for循环,不支持while循环
同样使用{},不过存储的元素是一个个的:键值对
#定义字典
dict = {"wyx": 99, "sxx": 60, "第三者": 100}
dict2 = {}
#从字典中基于key获取value
s = dict["wyx"]
print(s) #99
#定义嵌套字典
stu_dict = {
"wyx":{
"语文":80,
"数学":90,
"英语":88
},
"sxx":{
"语文": 23,
"数学": 44,
"英语": 55
}
}
print(stu_dict)
#{'wyx': {'语文': 80, '数学': 90, '英语': 88}, 'sxx': {'语文': 23, '数学': 44, '英语': 55}}
stus = stu_dict["sxx"]["语文"]
print(stus) #23
语法:字典[key] = value,结果:字典被修改,新增了元素
dict = {"wyx": 99, "sxx": 60}
dict["py"] = 88
print(dict) #{'wyx': 99, 'sxx': 60, 'py': 88}
语法:字典[key] = value, 结果:字典被修改,元素被更新
#{'wyx': 99, 'sxx': 60, 'py': 88}
dict["py"] = 77
print(dict) #{'wyx': 99, 'sxx': 60, 'py': 77}
语法:字典.pop(key), 结果:获得指定key的value,同时字典被修改,指定key的数据被删除
dict = {"wyx": 99, "sxx": 60}
value = dict.pop("wyx")
print(value) #99
print(dict) #{'sxx': 60}
语法:字典.clear(),结果:字典被修改,元素被清空
dict = {"wyx": 99, "sxx": 60}
dict.clear()
print(dict)
语法:字典.keys(), 结果:得到字典中全部的key
dict = {"wyx": 99, "sxx": 60}
keys = dict.keys()
print(keys) #dict_keys(['wyx', 'sxx'])
dict = {"wyx": 99, "sxx": 60}
keys = dict.keys()
print(keys) #dict_keys(['wyx', 'sxx'])
for key in keys:
print(f"字典的key是{key}")
print(f"字典的value是{dict[key]}")
#字典的key是wyx
字典的value是99
字典的key是sxx
字典的value是60
for key in dict:
print(key)
print(dict[key])
#wyx
99
sxx
60
是否支持下标索引
支持:列表,元组,字符串-序列类型
不支持:集合,字典-非序列类型
是否支持重复元素
支持:列表,元组,字符串-序列类型
不支持:集合,字典-非序列类型
是否可以修改
支持:列表,集合,字典
不支持:元组,字符串
列表:一批数据,可修改,可重复的存储场景
元组:一批数据,不可修改,可重复的存储场景
字符串:一串字符串的存储场景
集合:一批数据,去重存储场景
字典:一批数据,可用key检索value的存储场景
语法:sorted(容器,[reverse=true])
dict = {"wyx": 99, "sxx": 60}
print(sorted(dict)) #['sxx', 'wyx']
print(sorted(dict,reverse=True)) #将结果反转['wyx', 'sxx']