Python_10_字典dict

# 字典dict
# Python中的字典dict与字符串str/列表list/元组tuple不同,因为字典需要有俩部分组成
# 分别是key和value,简称:键值对。
# 字典的特点:
# 1.由一个或者是多个键值对构成,键值对的类型可以不同,也可以相同
# 2.字典dict中的键值对需要写在{}中,键值对中的key和value用:分隔开,键值对与键值对中间用逗号隔开。
# 3.字典dict是一个无序的集合,字典的key具有唯一性
#   键值对:{key:value}
#   字  典:{"age":18}
#   键值对:{key:value}
#   字  典:{"name":"张三"}

dict1 = dict()       # 定义一个空字典dict
print(dict1)
print("字典dict的数据类型:",type(dict1))   # 打印字典的类型
print(len(dict1))   # 打印字典的数量

print("***"*20)

dict2 = {"name":"张三","age":23,"dog":True}
print(dict2)
print(type(dict2)) # 打印字典的类型
print(len(dict2)) # 打印字典的数量

print("**"*20)

# 字典中出现了俩个同样的key:value,默认后面的value会覆盖前面的value
# 只有最后一个key/value有效,前面相同的value会覆盖,这就是字典的唯一性
dict3 = {"name":"张三","age":18,"dog":True,"age":23}
print(dict3)        # 打印字典dict
print(len(dict3))   # 输出字典的数量


# 字典dict增加数据
dict4 = dict()                # 空字典dict
print(dict4)                  # 输出空字典
dict4 ["name"] = "张三"       # 添加键值对"name":"张三"到字典dict4中
dict4 ["age"] = 18            # 添加键值对"age":18到字典dicr4中
print(dict4)                  # 打印键值对
print(len(dict4))             # 获取键值对的数量


print("***"*20)


# 删除键值对
# 字典dict是无序的,所以字典没有对应的下表索引,这也是字典与字符串""/列表list[]/元组tuple()的区别
# 删除字典中的数据,需要根据键值对中的key来删除对应的键值对,删除使用del关键字

dict5 = {"name":"张三","age":23,"dog":True}
print("没删除数据之前的字典dict:",dict5)

del dict5["name"]   # 删除key是name的键值对
print("删除key是name之后的键值对",dict5)
del dict5["age"]    # 删除key是age的键值对
print("删除key是age之后的键值对",dict5)


print("***"*20)


# 字典dict是无序的,每个键值对没有对应的索引值,这也是字典dict{}/字符串str""/列表list[]/元组tuple()之间的区别
# 修改键值对的数据,操作和删除都一样,直接根据键值对的key操作就可以

dict6 = {"name":"张三","age":23,"dog":True}
print("没修改字典之前的数据",dict6)

dict6["name"] = "隔壁老王"   # 修改key是name的值为“隔壁老王”
print("修改name值之后的键值对:",dict6)

dict6["age"] = 33  # 修改key是age的值为33
print("修改age值之后的键值对:",dict6)


print("***"*20)


# 字典dict查询数据
# 字典是无序的,所以不能根据下标索引来查询,这也是字典dict{}和字符串str""/列表list[]/元组tuplp()的差别
# 直接根据key输出对应的value
dict7 = {"name":"张三","age":23,"dog":True}
print(dict7["name"])
print(dict7["age"])
print(dict7["dog"])


print("***"*20)


# 字典dict常用的函数
# 把俩个字典合并成一个字典,使用的是update()删除,是将一个字典添加到另一个字典的末尾
# 清空字典是用函数clear()

dict8 = {"name":"张三","age":23}         # 创建一个字典
print("没合并之前的dict8:",dict8)       # 没合并之前的dict8
dict9 = {"dog":True}                     # 创建另一个字典
print("没合并之前的dict9:",dict9)       # 没合并之前的dict9

dict8.update(dict9)                      # 将dict9添加到dict8中
print("合并之后的dict8",dict8)           # 合并之后的dict8

print("未清空dict9之前:",dict9)          # 未清空dict9之前
dict9.clear()                            # 清空dict9
print("清空dict9之后:",dict9)           # 清空dict9之后


print("***"*20)


# 字典dict遍历
# 使用dict.items遍历字典dict,该方法返回的是一个元组

dict10 = {"name":"张三","age":23,"dog":True}
print("输出字典dict:",dict10)
# 遍历元组
for i in dict10.items():
    print(i,type(i))

# 经典写法,直接获取key/value
for x,y in dict10.items():
    print(x,y)


print("***"*20)


dict11 = {"name":"张三","age":23,"dog":True}      # 创建字典
print("输出字典:",dict11)       # 输出字典

# 方法一:根据key获取值
for key in dict11.keys():
    print(key,dict11[key])          # 等价于键值对中的key对应的value   print(dict11[key])

print("***"*20)

# 方法二:根据value获取值
for value in dict11.values():
    print(value)

print("***"*20)


# 字典dict{}/列表list[]/元组tuple()/字符串str""之间的转换
print("字典dict{}/列表list[]/元组tuple()/字符串str""之间的转换")
dict11 = {"name":"张三","age":"23","dog":"True"}
for i in dict11.items():            # 遍历字典
    for x in list(i):               # 将字典转换为列表list并遍历
        print("".join(x),end=" ")   # 将列表转换为字符串

# list12 = list(str2)         # 强制将字符串转换为列表
# tuple6 = tuple(list2)       # 列表list转换成元组tuple


'''
1.注意字典的特点
2.注意字典dict{}/列表list[]/字符串str""/元组tuple()之前的区别
3.注意字典之间的遍历方式
4.注意字典dict{}/列表list[]/元组tuple()/字符串str""之间的转换
'''

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值