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 2022-03-17 21:06  likeyog  阅读(53)  评论(0)    收藏  举报

导航