MarkDown文档学习

Docker笔记第一章

  返回  

字典和集合

2021/7/21 18:49:24 浏览:

集合

集合(set):集合是无序的、不重复的数据集合,它本身是可变的,但里面的元素是不可变类型(这里要注意,即使是含有列表的元组也不可以,必须是完全不可变类型)

1.集合的创建

# 1.集合的创建
s = {1, 2, 3, 1, 2, 3}
print(s, type(s))
# 注意点: 集合的元素必须是不可变数据类型
s = {}
print(s, type(s))
# 注意点2: 空集合不能使用{},而要使用set{}
s = set()
print(s, type(s))

在这里插入图片描述

2.集合的特征

# 2.集合的特征
# 不支持 +  *  index  slice  (因为集合无序不重复的)
# 支持成员操作符in  not in
print(1 in {1, 2})

在这里插入图片描述

3.集合的常用操作

集合增加元素
# 3. 集合的常用操作
# 3-1) 增加
#           add:     添加单个元素
#           update:  添加多个元素
s = {1, 2, 3}
s.add(100)
print(s)
s = {1, 2, 3}
s.update({4, 5, 6})
print(s)

在这里插入图片描述

集合删除元素
# 3-1) 删除
#       remove: 如果元素存在,删除,否则报错
#       discard: 如果元素存在,删除,否则do nothing
#       pop:随机的删除元素,集合为空,否则报错
#       clear :删除结合中的所有元素
s = set()
s.clear()
print(s)
s = {1, 2, 3}
s.clear()
print(s)
s = {1, 2, 3}
s.remove(1)
print(s)
s.discard(100)
print(s)
s = {1, 2, 3}
s.pop()
print(s)

在这里插入图片描述

集合的查看
# 3-3).查看
#          并集: s1 - s2
#           交集: s1 & s2
#           对称差分:s1 ^ s2   并集 - 交集
#           并集: s1 | s2
#           子集:s1.issubset(s2) s2是s1的子集吗?
#           s1.isdisjoint(s2) s1和s2没有交集吗?
s1 = {1, 2, 3}
s2 = {1, 2}

print(s1 - s2)
print(s1 & s2)
s1 = {1, 2, 3}
s2 = {1, 2, 4}
print(s1 ^ s2)
print(s1 | s2)
print(s1.issubset(s2))
print(s1.isdisjoint(s2))

在这里插入图片描述

拓展
#  4.拓展: frozenset不可变的集合
s = frozenset({1, 2, 3})
print(s,type(s))

在这里插入图片描述

字典

1.字典的创建

# 1.字典的创建dict
# key-value 对或者键值对
d = {"name":"westos","age": 18, "city":"西安" }
print(d, type(d))

在这里插入图片描述

2.字典的特性

# 2.字典的特征
# 不支持 +  *  index  slice  (因为集合无序不重复的)
# 支持成员操作符in  not in
d = {"name":"westos","age": 18, "city":"西安" }
print('name' in d)    #True  判断是否为所有的key值成员
print('westos' in d)  #False

在这里插入图片描述

3.字典的常用方法

查看

查看所有: keys, values, items
查看局部: d[key], d.get[key], d.get(key, default-value)

# 3.字典的常用方法
# 3.1 查看
d = {"name":"westos","age": 18, "city":"西安" }
print(d.keys())      #查看字典所有的key值
print(d.values())    #查看字典所有的value值
print(d.items())     #查看字典所有的key和value值
print(d["name"])     #查看key为name对应的value值 ,key对应的value不存在时报错
print(d.get('province')) #查看key为name对应的value值,如果不存在返回none.
print(d.get('province', "陕西")) # 查看key为name对应的value值,如果不存在返回默认值

在这里插入图片描述

增加和修改
# 3.2增加和修改
d = {"name":"westos","age": 18}
d['city'] = '西安'   #key不存在就添加
print(d)
d['city'] = '北京'   #key存在就修改value值
print(d)
d = {"name":"westos","age": 18}
d.setdefault('city',"西安")    #key不存在就添加
print(d)
d.setdefault('city',"北京")    #key存在就do nothing
print(d)

在这里插入图片描述

删除
# 3.3 删除
d = {"name":"westos","age": 18}
d.pop('name')
print(d)
d = {"name":"westos","age": 18}
del d['age']
print(d)

在这里插入图片描述

便利字典

# 4 .便利字典
d = {"name":"westos","age": 18, "city":"西安" }
#默认情况下,字典只会遍历key值
for item in d:
    print(item)

for item in d.items():
    print(item)
for key,value in d.items():
    print(f"key={key} ,value={value}")

在这里插入图片描述

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号