Python中的字典

目录

1 字典的定义

2 字典的键与值

3 字典的基本操作

3.1 获取与修改

3.2 字典的遍历

3.3 字典的操作

3.3.1 len()

3.3.2 in

3.3.3常用方法


1 字典的定义

字典(Dictionary)是Python中的一种数据类型,用于存储键值对(key-value pairs)。它是可变的、无序的,且每个键必须是唯一的。

字典使用花括号 {} 来表示,键和值之间使用冒号 : 分隔,键值对之间使用逗号分隔。

字典可以通过一下三种方式创建:

(1)通过花括号{}直接创建

(2)通过方法创建

(3)直接创建花括号并输入里面内容

# 字典的定义
d0 = {}
d1 = dict()
print(type(d1), print(type(d0)))

# 字典的格式是键(key)值(value)对
# 键与值之间使用冒号隔开  多个键值对之间使用逗号隔开
d2 = {
    "name": "小美",
    "age": 18,
    "address": "郑州",
}
print(d2)

2 字典的键与值

每个键必须是唯一的,而值可以是任意类型的对象,如字符串、整数、浮点数、列表等。

d3 = {
    "key1": "value1",
    "key2": 100,
    "key3": 3.14,
    "key4": False,
    "key5": None,
    "key6": [1, 2, 3],
    "key7": (100,),
    "key8": {
        "key11": "value1",
        "key12": [
            {
                "key1": 15,
                "key2": "河南",
            },
            {
                "key3": 23,
                "key4": "郑州"
            }
        ]

    }
}
print(d3)

d4 = {
    "name": "小白",
    100: 100,
    3.14: 3.14,
    True: "这是布尔值",
    None: "这是个空",
    # [1,2,3]: "可变类型列表不可以作为键"
    (): "这是元组",
    # {}: "字典不可以作为键"
}
print(d4)



d4 = {
    "name": "小白",
    100: 100,
    3.14: 3.14,
    True: "这是布尔值",
    None: "这是个空",
    # [1,2,3]: "可变类型列表不可以作为键"
    (): "这是元组",
    # {}: "字典不可以作为键"
    True: "我会覆盖",
}
print(d4)

3 字典的基本操作

3.1 获取与修改

(1)修改

字典名[健名] = 值,如果键已经存在则替换

d0 = {
    "name":  "小美",
    "age": 20
}
print(d0, id(d0))

# 设置键 如果键已经存在则替换

d0["name"] = "小帅"
print(d0, id(d0))
# 获取键所对应的值
print(d0["name"], d0["age"])

(2)获取

字典名[键名] = 值

d0 = {
    "name":  "小美",
    "age": 20
}
print(d0["name"])

3.2 字典的遍历

(1)方式1 遍历字典的所有键

d1 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州"
}
# 方式1 遍历字典的所有键
for key in d1.keys():
    print(key)

(2)方式2 遍历字典的所有值

d1 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州"
}
# 方式2 遍历字典的所有值
for value in d1.values():
    print(value)

(3)方式3 遍历字典的所有键值对

有两种形式都可以比爱哪里键值对,第一种方式显示的是元组形式。


d1 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州"
}

# 方式3 遍历字典的所有键值对
for item in d1.items():
    print(item)

for key, value in d1.items():
    print(key, value)

3.3 字典的操作

3.3.1 len()

获取键值对个数

d1 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州"
}
# len 获取字典键值对个数
print(len(d1))

3.3.2 in

判断一个键是否在字典中

d2 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}

print("name" in d2, "sex" in d2)

3.3.3常用方法

(1)遍历

d2 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}
# 所有的键
print(d2.keys())
# 所有的值
print(d2.values())
# 所有的键值对
print(d2.items())

(2)删除

a) pop 根据键删除指定的键值对 返回值

d2 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}
# 根据键删除指定的键值对 返回值
r = d2.pop("name")
print(r, d2)

b) popitem   删除最后一个写的键值对(python 独有)

d2 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}
# 删除最后一个写的键值对(python 独有)
r = d2.popitem()
print(r, d2)

c) clear 清空字典

d2 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}
# 清空
d2.clear()
print(d2)

(3)修改

a)setdefault () 如果已经存在该键,则返回原始值;不存在则添加

d3 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}
# 如果已经存在该键,则返回原始值
r = d3.setdefault("age", 25)
print(r, d3)
# 不存在则添加
r = d3.setdefault("sex", "女")
print(r, d3)

b)update () 将新字典中所有键值对 合并到原有字典

d3 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}
# 将新字典中所有键值对 合并到原有字典
r = d3.update({
    "sex": "N",
    "age": 23
})
# update 无返回值
print(r, d3)

c) fromkeys()初始化一个字典

# 初始化一个字典
d4 = dict.fromkeys(["key1", "key2", "key3"], 100)
print(d4)

(4)get

根据键获取值,取不到返回None 、取不到也可以指定默认值

字典(键)获取时,  如果取不到会报错

d3 = {
    "name": "小美",
    "age": 20,
    "addr": "郑州",
}
# 取不到返回None
print(d3.get("name1", "小帅"))
# 取不到报错
print(d3["name1"])

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

火爆辣椒abc

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

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

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

打赏作者

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

抵扣说明:

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

余额充值