python基础——字典与集合

字典


字典的应用场景

存储数据,存储一个数据的属性,可以快速的找到需要的数据

创建字典的语法

dict_data = {key:value,key1:value1}
1.符号以大括号表示
2.数据是以键值对出现的,键值中间用冒号连接
3.key的值必须是不可变类型,Key值不能重复

创建一个空的字典

dict_data = {}
print(dict_data) # {}
print(type(dict_data)) # <class 'dict'>

字典的增删查改操作

字典是没有索引的,字典是没有顺序的

增加

dict_data = {}
dict_data['小雨'] = 22
print(dict_data) # {'小雨': 22}

修改

dict_data = {}
dict_data['小雨'] = 22
dict_data['小雨'] = 20

删除 del clear pop(key) popitem()

dict_data = {'小明':20, '小芳':18, '小刚':16}

# del dict_data # 删除整个字典
# del dict_data['小明'] # 删除字典中,key为'小明'的数据

# dict_data.clear() # 清空字典内的内容,字典还在

# print(dict_data.pop('小明')) #  20 删除小明,并返回删除的值

# print(dict_data.popitem()) # 16 默认删除最后一个

查看

根据key查看
keys()返回字典的所有的key
values() 返回字典的所有value
items() 返回字典中的key 和 value

dict_data = {'小明':20, '小芳':18, '小刚':16 }

print(dict_data['小芳']) # 18

print(list(dict_data.keys())) #['小明', '小芳', '小刚']

print(list(dict_data.values())) # [20, 18, 16]

print(list(dict_data.items())) # [('小明', 20), ('小芳', 18), ('小刚', 16)]

字典的部分方法

dict_data = {'小明': 20, '小芳': 18, '小刚': 16}
print(dict_data.get('小明1', '这是默认值')) # 这是默认值
#当没有找到时,返回设置的默认值,,不设置,默认返回None

print(dict_data.setdefault('小明','100')) # 20  找到就返回对应的值
print(dict_data.setdefault('小红', '100')) #100 找不到,返回设置的默认值,并把小红及默认值存进去

print(dict_data) # {'小明': 20, '小芳': 18, '小刚': 16, '小红': 100}

字典的循环遍历

dict_data = {'小明': 20, '小芳': 18, '小刚': 16}
for i in dict_data.keys():
    print(i)

for i in dic_data.values():
    print(i)

for i in dict_data.items():
    print(i[0],i[1])


# 拆包写法
for name, age in dict_data.items():
    print(name, age)

集合


{数据1, 数据2, 数据3...}

创建集合

set_data = set()
set_data1 = {1,2,3,4}
print(type(set_data))

集合的特点

1.没有索引
2.没有顺序
3.数据不能重复(可以用来去重)

集合的常规操作

查找 in 与 not in

set_data = {1,2,3,4}
print(1 in set_data) # True
print(2 not in set_data) # False

增加 add update 添加的数据需要是一个不可变类型

set_data = {1,2,3,4,5,6}
set_data.add(1) # 集合自动去重,1重复了
print(set_data) #{1,2,3,4,5,6}  

删除 remove discard()

data = {1,2,3,4,5}
data.remove(5)
data.remove(6) # 如果key不存在,会报错
data.remove(7) # 没有对应的值,不报错,直接跳过
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容