从小白到大神,逐步学习Python字典的基础知识与实践

1.字典的定义

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

 2.字典的格式

#   字典的格式是 键(key)值(value)对
#   键与值之间使用冒号隔开 多个键值对之间使用逗号隔开
d2 = {
    "name": "王思聪",
    "age": 20,
    "addr": "郑州"
}
print(type(d2))
d3 = {
    "name": "姓名",
    "age": "年龄",
    "addr": "地址"
}

#   字典的键和值
#   值可以是任意数据类型
d4 = {
    "key1": 0,
    "key2": "ds",
    "key3": [1, 2],
    "key4": 1.12,
    "key5": {
        "key5.5": [
            1, 2, {
                "key5.5.5": "dsf"
            }
        ]
    },
    "": 12,
    "key6": ''
}
print(type(d4), d4)

#   键是不可变类型(大部分都是字符串)
#   五个基本类型都是不可变类型(int, float, str, bool, none)
#   元组是不可变类型,可以作为字典的键
d5 = {
    "name": "wang",  # str
    3.14: "这是PI",  # float
    100: 100,  # int
    True: "只是一个布尔值",  # bool
    False: "这也是一个布尔值",  # bool
    None: "只是空",  # none
    (): "元组是不可变类型",  # 元组
    # []: "列表是可变类型,不可做为字典的键",  # 列表
    # {}: "字典是可变类型, 不可做为字典的键", # 字典
}

3.字典是可变类型

#   字典是可变类型
#   获取与修改
#   设置
#   字典名[键名] = 值
d6 = {
    "name": "zhao",
    "age": 20,
    "adds": "China"
}
print(d6["name"])
#   字典的赋值会覆盖掉以前的内容,换成新的内容
d6["name"] = "qian"
print(d6["name"])

4.字典的遍历

#   字典的遍历
#   方式一 遍历所有的键
for key in d6.keys():
    print(key, d6[key])

#   方式二 遍历所有的值
for value in d6.values():
    print(value)

#   方式三 遍历所有的键值对
for item in d6.items():
    print(item)
#   or
for key, value in d6.items():
    print(key, value)

5.字典的操作

5.1 len计算字典个数

#   字典的操作
#   len 计算字典的个数
print(len(d6))

 

5.2in 判断键是不是在字典里面

#   in 判断键是不是在字典里面
print("name" in d6)

 

5.3 获取所有的键,值,键值对

#   所有的键
print(d6.keys())
#   所有的值
print(d6.values())
#   所有的键值对
print(d6.items())

 5.4pop 根据键,删除键值对,返回键所对应的值

#   pop 根据键,删除键值对,返回键所对应的值
r = d6.pop("name")
print(r, d6, "name" in d6)

 5.5删除最后一个写的键值对(Python独有)

#   删除最后一个写的键值对(Python独有)
r = d6.popitem()
print(r, d6)

 

5.6 清空所有元素

#   清空
d6.clear()
print(d6)

5.7get 取不到返回None取不到,也可返回默认值

#   取不到返回None
d6.get("name")
#   取不到,也可返回默认值
d6.get("name", "li")

5.8 如果键不在字典中,则插入值为 default 的键。如果 key 在字典中,则返回 key 的值,否则为 default。

#   如果键不在字典中,则插入值为 default 的键。如果 key 在字典中,则返回 key 的值,否则为 default。
print(d6.setdefault("name", "li"))

 5.9updata将键值对进行更新,如果没有此键值对则增加这个键值对

#   将键值对进行更新,如果没有此键值对则增加这个键值对
print(d6)
d6.update({"age": 25, "sex": "男"})
print(d6)

 

5.10 dict.fromkeys(keys, value)创造一个新字典,所有的值都是value 键来源于keys列表

#   dict.fromkeys(keys, value)创造一个新字典,所有的值都是value 键来源于keys列表
d7 = dict.fromkeys(["key1", "key2", "key3"], 10)
print(d7)

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值