原来这就是所谓的字典啊!!!

1、字典的格式

d0 = {}
d1 = dict()
print(type(d0),type(d1))

结果

<class 'dict'> <class 'dict'>

键值对,键和值之间用 :隔开,每个键值对用 , 隔开

d2 = {"name": "李寒香",
      "like": "man",
      "age": "18",
      }
print(d2)

结果

{'name': '李寒香', 'like': 'man', 'age': '18'}

2、字典的值可以是任意数据类型

包括字符串,数字,None值,布尔类型,列表,元组,字典

d3 = {
    "key1": "good",
    "key2": 100,
    "key3": None,
    "key4": False,
    "ley5": [1, 2, 3],
    "key6": (1, 2,),
    "key7": {
        "key8": "哈哈哈哈",
        "key9": [
            {
                "key10": "呵呵呵呵"
            },
            {
                "key11": "嘿嘿嘿嘿"
            }
        ]
    }
}
print(d3)

结果

{'key1': 'good', 'key2': 100, 'key3': None, 'key4': False, 'ley5': [1, 2, 3], 'key6': (1, 2), 'key7': {'key8': '哈哈哈哈', 'key9': [{'key10': '呵呵呵呵'}, {'key11': '嘿嘿嘿嘿'}]}}

3、字典键的类型

键的类型中 ,键不可以重复,值可以,len获取键值对的个数

d4 = {
    "name":"李",
    100:1,
    3.14:"这是pi",
    True:"这是布尔值",
    False:"这也是布尔值",
    # []:"列表是可变数据类型不能是键",
    # {}:"字典是可变数据类型不能是键",
    (1,):"元组是不可变数据类型可以是键",
    True:"这是布尔值",#键相同,会覆盖相同的键,长度不增加
    10:"这也是布尔值",#值可以一样,长度会变
}
print(d4,len(d4))

结果

{'name': '李', 100: 1, 3.14: '这是pi', True: '这是布尔值', False: '这也是布尔值', (1,): '元组是不可变数据类型可以是键', 10: '这也是布尔值'} 

7

4、字典的设置和获取

设置

d0["name"] 是字典的键,“周” 是把原来键的值改为 周

d0 ={
    "name": "李",
    "age": 20,
}
d0["name"] = "周"
print(d0)

结果

{'name': '周', 'age': 20}

获取

输入键,获取所对应的值

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

结果

20

5、字典的遍历

方式一  遍历所有的键

可以通过键,获得对应的值

d0 ={
    "name": "李",
    "age": 20,
}
for key in d0.keys():
    print(key,d0[key])

结果

name 李
age 20

方式二  遍历所有的值

不能根据值,获得对应的键

d0 ={
    "name": "李",
    "age": 20,
}
for value in d0.values():
    print(value)

结果

李
20

方式三  遍历所有的键值对

d0 ={
    "name": "李",
    "age": 20,
}
for item in d0.items():
    print(item)#打印出是元组
for key,value in d0.items():
    print(key,value)

结果

('name', '李')
('age', 20)
name 李
age 20

6、字典的常用操作

(1)item  输出所有的键值对

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.items())

结果

dict_items([('name', '李'), ('age', 20)])

(2)value 输出所有的值

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.values())

结果

dict_values(['李', 20])

(3)key 输出所有的键

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.keys())

结果

dict_keys(['name', 'age'])

(4)pop 删除键,返回键所对应的值

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.pop("name"))

结果

李

(5)popitem 删除最后写入的键值对

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.popitem())

结果

('age', 20)

(6)clear 删除所有键值对

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.clear())

结果

None

(7)fromkeys 创建一个新字典,与原字典无关

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.fromkeys(["sex","like"],"man"))

结果

{'sex': 'man', 'like': 'man'}

(8)setdefault  如果键存在返回原始值,如果不存在,添加,返回新值

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.setdefault("age",25))
print(d0.setdefault("sex","男"),d0)

结果

20
男 {'name': '李', 'age': 20, 'sex': '男'}

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

d0 ={
    "name": "李",
    "age": 20,
}
d0.update({"age":19})
print(d0)

结果

{'name': '李', 'age': 19}

(10)get 得到键对应的值

取不到返回新值

d0 ={
    "name": "李",
    "age": 20,
}
print(d0.get("name1", "马云"))

结果

马云

取不到报错

d0 ={
    "name": "李",
    "age": 20,
}
print(d0["name1"])


结果  报错

Traceback (most recent call last):
  File "D:\Python2401\23.字典.py", line 106, in <module>
    print(d0["name1"])
          ~~^^^^^^^^^
KeyError: 'name1'

小结

在使用字典时,要注意键的格式和值的对应,键的类型,还有字典的操作方便应用。

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值