字典的基本操作

字典

认识字典
person = {
    "name": "zp",
    "age": "23",
    "sex": "male",
    "height": 181,
    (1, 2): "666",
    80001: "陈冠希",  # 一般不使用int型 除非有实际意义
    80002: "刘德华",
    "sex": "female"  # 不会报错 但是会把之前的键的值给覆盖掉
}
print(person)

# 注意: 01 元素是键值对  key:value  键和值之间用冒号拼接
#      02 字典的键只能是不可变类型
#      03 字典中的键如果重复出现后,不会报错,但是后面键的值会覆盖前面的值
#      04 注意字典和集合的区别:声明字典时可以直接使用dict01 = {}的赋值语句,而集合的声明方式
#         只能是set01 = set()
#      
字典的基本用法:
1. 查找操作
person = {
    "name": "zp",
    "age": "23",
    "sex": "male",
    "height": 181
}
print(person["name"])    # zp
# print(person["beauty"])  # 如果查找的键不存在,就会报错

print(person.get("beauty"))
# 运行结果: 运行结果:
print(person.get("name", "height"))  
# 运行结果:zp
print(person.get("beauty", "height"))
# 运行结果: height

# get方法的总结:
# 01.如果查找的键不存在,就会返回None
# 02.如果一次查找多个键,不会报错,能够查找到只返回第一个键对应的value值
# 03.如果一次查找多个键,查不到第一个键,就返回我们设定的值

test = "name"
print(person[test])   # zp
print(person["test"])  # 报错 没有键:"test
# 注意变量和键的区别
2. 修改操作
person = {
    "name": "zp",
    "age": "23",
    "sex": "male",
    "height": 181
}

person["name"] = "pengpeng"  # 跟列表类似,列表里边是下标,字典里是键的值
person["jiguan"] = "武汉"  # 如果key不存在,则将key和value增加到字典的末尾
print(person)
# 运行结果:{'name': 'pengpeng', 'age': '23', 'sex': 'male', 'height': 181, 'jiguan': '武汉'}
3. 删除操作
# 01.pop
test = person.pop("age")
print(test)  # 23
print(person)
#  {'name': 'zp', 'sex': 'male', 'height': 181}

# 02.popitem
res = person.popitem()  # 删除的是最后一对元素
print(res)  # 返回元组 由key和value组成('height', 181)
print(person)
# ('height', 181)
# {'name': 'zp', 'age': '23', 'sex': 'male'}

# 03.del
del person   # 删除整个字典
print(person)  # name 'person' is not defined  表示删除成功

# 04.clear
person.clear()  # 清空字典{}里边的元素
print(person)  #  {}
4. updata的用法
# 01.将两个列表拼接成一个可以使用“+”
list01 = [1, 2, 3]
list02 = ["a", "b", "c"]
print(list01 + list02) 
# [1, 2, 3, 'a', 'b', 'c']

# 02.将两个元组拼接成一个也可以使用"+"
wr1 = ("hello",)
wr2 = ("world",)
print(wr1+wr2)   
# 'hello', 'world')

# 03.将两个字典拼接成一个不能使用"+",只能使用updata
dc1 = {"name": "pikaqiu"}
dc2 ={"age": 18}
# print(dc1 + dc2)  
# 报错 不能直接加  unsupported operand type(s) for +: 'dict' and 'dict'

dc1.update(dc2)  # 将字典dc2合并到dc1中
print(dc1)  
# {'name': 'pikaqiu', 'age': 18}
5. 字典的遍历
person = {
    "name": "zp",
    "age": "23",
    "sex": "male",
    "height": 181
}
# 第一种方式
for i in person:
    print(i, person[i])
    print(i, person.get(i))
    # 这两种输出方法都可以

# 第二种方式 获取所有的key  然后遍历key 根据key获取对应的value
for i in person.keys():
    print(i, person[i])
    
# 第三种方式: 获取所有的value值,但是不能获得key
for i in person.values():
    print(i)
   
# 第四种方式: 既有键又有值
print(person.items())   # 输出结果是元组
# dict_items([('name', 'zp'), ('age', '23'), ('sex', 'male'), ('height', 181)])

#  第五种方式:通过item的下标输出
for i in person.items():
    print(i[0], i[1])  #  将item拆开输出,也叫作拆包
    # print(i)
    
# 第五种方式:将item拆成key和value输出
for key, value in person.items():
#     print(key, value)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值