Python字典

1.字典的定义

2.字典的键与值

3.字典的常见操作


1.字典的定义

Python中的字典是一种可变的数据结构,用于存储键值对。在字典中,每个键都是唯一的,并且与一个值相关联。字典使用大括号{}来定义,并且键和值之间使用冒号:分隔,键值对之间使用逗号,分隔。字典与列表类似,一个变量可以存储多个值,通过键可以快速获取值。但也有缺点,例如字典需要在内存中额外存储一些键,没有列表占用的内存小。

2.字典的键与值

下方是一个简单的字典定义的代码:

d4 = {
    "id": 101,
    "name": "马云",
    "height": 180.0,
    "has_money": True,
    "birthday": None,
    "houses": ["西湖别墅", "CBD大平层"],
    "friends": ("马化腾", "马斯克"),
    "hobbies": {
        "1": "睡觉",
        "2": "购物"
    }
}

在这个例子中,"id","name","height","has_money"这种就称之为字典的键,而101,"马云",180,True这些就称之为字典的值,他们"id": 101就称之为字典的键值对。

其中,键是不可变的类型,且大部分的键都为字符串类型,值可以是任意类型。

3.字典的常见操作

和其他数据类型一样,字典也可以进行增加,删除,查询,修改。并且可以通过for循环来遍历字典中的所有键、值、键值对。

首先是添加字典:

d1 = {}
d1["id"] = 110
d1["name"] = "小王"
d1["sex"] = "男"
d1["age"] = 22
print(d1)    # {'id': 110, 'name': '小王', 'sex': '男', 'age': 22}

如果原字典中没有这些键和对应的值,那么就将它添加上去,如果有就将原有的值更新为这些值。

还可以通过update()方法将一个字典合并到另一个字典中:

d1 = {}
d1["id"] = 110
d1["name"] = "小王"
d1["sex"] = "男"
d1["age"] = 22
print(d1)
d1.update({
    "hobby":"听歌"
})
print(d1)    # {'id': 110, 'name': '小王', 'sex': '男', 'age': 22, 'hobby': '听歌'}

其次是删除字典:可以使用pop()方法和popitem()方法对字典中的元素进行删除操作。

d1 = {
    "id": 101,
    "name": "小王",
    "sex": "男",
    "age": 22,
    "hobby": "听歌"
}
# pop(键)删除指定键并返回对应值
print(d1.pop("id")) # 101
print(d1)   # {'name': '小王', 'sex': '男', 'age': 22, 'hobby': '听歌'}
# popitem()删除最后一个键值对并返回 
print(d1.popitem())     # ('hobby', '听歌')
print(d1)   # {'name': '小王', 'sex': '男', 'age': 22}

然后是查询字典:

既可以通过get()方法来获取字典内的值,也可以进行遍历来获取字典内的键值对

d1 = {
    "id": 101,
    "name": "小王",
    "sex": "男",
    "age": 22,
    "hobby": "听歌"
}

# get(a, b) 是一个方法,用于从字典中获取与键 a 关联的值。
# 如果字典中不存在键 a,则 get 方法会返回 b(默认值)。
# 使用该方法的好处是试图访问不存在的键也不会报错,而是返回指定的默认值b
print(d1.get("name"))

# 可以通过d1["a键"]来取得d1中a键对应的值
print(d1["hobby"])

# key()返回键,可以通过索引再返回值
for k in d1.keys():
    print(k, d1[k])

# values()返回值,但不能通过值返回键
for v in d1.values():
    print(v)

# items()返回键值对
for k, v in d1.items():
    print(k, v)

字典还可以使用成员运算符 in 来判断键是否在字典中:

d1 = {
    "id": 101,
    "name": "小王",
    "sex": "男",
    "age": 22,
    "hobby": "听歌"
}

if "id" in d1:
    print(f'"id"在字典d1中')
else:
    print(f'"id"不再字典d1中')

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值