【Python】Python基础知识(五):字典,集合

上篇:Python基础知识(四):列表,元组


目录

字典dict

语法

新增与修改

删除

查找

key值查找

get()

keys()

values()

items()

集合set

添加数据

add()

update()

删除数据

remove() 

discard()

pop()

查找

in

not in


字典dict

键值对形式存在

语法

有数据的

dict1 = {"name": "haha", "age": 18, "gender": "男"}

空字典

dict2 = {}
# 或
dict3 = dict()

新增与修改

key不存则新增,存在则修改值

dict1 = {"name": "haha", "age": 18, "gender": "男"}
# 新增
dict1["id"] = 1001
print(dict1)        # {'name': 'haha', 'age': 18, 'gender': '男', 'id': 1001}

# 修改
dict1["id"] = 1002
print(dict1)        # {'name': 'haha', 'age': 18, 'gender': '男', 'id': 1002}

删除

dict1 = {"name": "haha", "age": 18, "gender": "男"}
# 删除字典
# del(dict1)

# 删除键值对
del(dict1["name"]) # 如果不存在则报错
print(dict1)

查找

key值查找

如果key值不存在则报错

dict1 = {"name": "haha", "age": 18, "gender": "男"}
print(dict1["name"]) # haha 

get()

如果不存在则返回默认值

dict1 = {"name": "haha", "age": 18, "gender": "男"}
print(dict1.get("name", "123"))         # haha 存在则返回值
print(dict1.get("name1", "123"))        # 123 不存在则返回默认值

keys()

查找字典中所有的key,返回可迭代对象

dict1 = {"name": "haha", "age": 18, "gender": "男"}
print(dict1.keys())     # dict_keys(['name', 'age', 'gender'])

# 遍历
for i in dict1.keys():
    print(f"{i}:{dict1[i]}")

效果

values()

查找字典中所有的value,返回可迭代对象

dict1 = {"name": "haha", "age": 18, "gender": "男"}
print(dict1.values())     # dict_values(['haha', 18, '男'])

# 遍历
for i in dict1.values():
    print(i)

效果

items()

查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典key对应的值

dict1 = {"name": "haha", "age": 18, "gender": "男"}
print(dict1.items())     # dict_items([('name', 'haha'), ('age', 18), ('gender', '男')]) 

# 遍历
for i in dict1.items():
    print(f"{i[0]}:{i[1]}")

# 或
for key, value in dict1.items():
    print(f"{key}:{value}")

效果

 

集合set

创建集合使用{}或set{},但是如果创建空集合只能使用set{},因为{}用来创建空字典

集合的数据没有顺序

set1 = {10, 20, 30, 40, 50}
print(set1)                     # {40, 10, 50, 20, 30}  没有顺序

set2 = {10, 20, 30, 40, 50, 10}
print(set2)                     # {40, 10, 50, 20, 30} 去除了重复值

set3 = set("abcdef")
print(set3)                     # {'e', 'b', 'f', 'd', 'c', 'a'}

set4 = set()
print(set4)
print(type(set4))               # <class 'set'> 这样创建出来才是集合

set5 = {}
print(set5)
print(type(set5))               # <class 'dict'>  这样创建出来是字典

添加数据

add()

因为集合有去重功能,所以,当向集合追加的数据是当前集合已有数据的话,则不进行任何操作

set1 = {10, 20, 30, 40, 50}
set1.add(66)
print(set1)                 # {66, 40, 10, 50, 20, 30}
set1.add(66)                # 已存在,不再添加
print(set1)                 # {66, 40, 10, 50, 20, 30}

 

update()

追加的数据是序列

set1 = {10, 20, 30, 40, 50}
set1.update([66, 77])
print(set1)                 # {66, 40, 10, 77, 50, 20, 30}

注意,update()方法追加的必须是一个序列,否则会报错,add()方法不能追加序列,否则会报错

 

删除数据

remove() 

删除集合中的指定数据,如果数据不存在则报错

set1 = {10, 20, 30, 40, 50}
set1.remove(10)
print(set1)                 # {40, 50, 20, 30}
set.remove(66)              # 66 这个数据不存在,报错

discard()

删除集合中的指定数据,如果数据不存在也不会报错

set1 = {10, 20, 30, 40, 50}
set1.discard(10)
print(set1)                 # {40, 50, 20, 30}
set1.discard(66)              # 66 这个数据不存在,不会报错

pop()

随机删除集合中的某个数据,并返回这个数据

set1 = {10, 20, 30, 40, 50}
print(set1.pop())            # 40
print(set1)                  # {10, 50, 20, 30}

 

查找

in

判断数据在集合序列

not in

判断数据不在集合序列

set1 = {10, 20, 30, 40, 50}
print(10 in set1)               # True
print(10 not in set1)           # False

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GreAmbWang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值