5-复合类型-dict 字典

复合类型-dict 字典

dict 字典: 字典可以一个或多个成员,也可以没有成员。

data = {}
print(data, type(data)) # {} <class 'dict'>
data = {
"name": "xiaoming",
"age": 16,
"sex": True,
"height": 1.70,
"email": "1234@qq.com",
"friends": [
"xiaobai", "xiaohei"
]
}
print(data, type(data)) # {'name': 'xiaoming', 'age': 16, 'sex': True, 'height': 1.7, 'email': '1234@qq.com'} <class 'dict'>

字典的格式:

data = {
"key": value
}
  1. 字典的成员叫键值对(key-value),每一个键值对使用英文冒号关联(映射),每一个键值对的后面,除了末尾成员,都要使用英文逗号隔开
  2. 字典里面的键值对的键(key),必须是不可变的数据类型,value可以是任意的数据类型,key一般在工作中往往使用字符串格式,少数情况下会出现数值,或者元组
  3. 字典里面的键值对的键(key),在整个字典中是唯一的,如果重复出现,则后面的会覆盖前面

key可以是数值类型(整型、浮点型、布尔型)

data = {
3: "xiaoming",
13: "lixiaoming",
}

key也可以是元组

data = {
(1,2): "xiaoming",
(1,3): "lixiaoming",
}

字典一般用于保存事物的信息,例如:一个人的信息,一个装备的信息,一个道具的信息,一个物品信息等等。

如果要保存多个事物的信息,就可以采用字典作为成员,组成一个列表/元组/集合了。

book_list = [
{"id":1, "name": "浪潮之巅", "price": 89.50},
{"id":2, "name": "人月神话", "price": 109.50},
{"id":3, "name": "代码之髓", "price": 39.50},
]
print(book_list) # [{'id': 1, 'name': '浪潮之巅', 'price': 89.5}, {'id': 2, 'name': '人月神话', 'price': 109.5}, {'id': 3, 'name': '代码之髓', 'price': 39.5}]

字典取值: 字典可以通过key使用中括号来取值

book = {
"price": 9.9,
"title": "西游记后传",
"publish": "人民出版社",
"authors": ["吴承恩", "小明"],
}
print(book["price"]) # 9.9

例如买5本书:

total = book["price"] * 5
print(total) # 49.5

新增一个键值对

book["pubdate"] = "2022-10-01"
print(book) # {'price': 9.9, 'title': '西游记后传', 'publish': '人民出版社', 'authors': ['吴承恩', '小明'], 'pubdate': '2022-10-01'}

也可以对已有的键值对进行修改值

book["price"] = 39.9
print(book) # {'price': 39.9, 'title': '西游记后传', 'publish': '人民出版社', 'authors': ['吴承恩', '小明'], 'pubdate': '2022-10-01'}

也可以使用 in 判断某个key是否存在于字典中

book = {
"price": 9.9,
"title": "西游记后传",
"publish": "人民出版社",
"authors": ["吴承恩", "小明"],
}
print("price" in book) # True
print("pubdate" in book) # False

posted on   likeyog  阅读(45)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示