【python基础】字典dict

字典dict

1、字典的定义

字典是一个可变序列,以键值对的方式存储数据,字典是一个无序的序列

Python语言中的字典使用大括号{ }建立,每个元素是一个键值对

字典的创建方式:

  1. 使用{ }花括号

    scores = {'张三': 29, '李四': 10, '王五': 40}
    print(scores)  # {'张三': 29, '李四': 10, '王五': 40}
    print(type(scores))  # <class 'dict'>
    
  2. 使用内置函数dict()

    dic = dict(name='张三', age=20)
    print(dic)  # {'name': '张三', 'age': 20}
    
  3. 创建空字典

    d = {}
    print(d)  # {}
    

2、字典的特点

  1. key 不可以重复,值value可以重复
  2. 字典中元素是无序的
  3. 字典会浪费大的内存,是一种使用空间换时间的数据结构,但是查询速度快。

3、字典元素的获取(查找)

根据键key获取字典的值value

# 1.使用 [] 获取
scores = {'张三': 29, '李四': 10, '王五': 40}
print('张三' in scores)  # True
print('张三' not in scores)  # False
print(scores['张三'])  # 29
 
# 2.使用 get()方法
print(scores.get('张三'))  # 29
print(scores.get('柽柳'))   # None
print(scores.get('麻子', 99))  # 99是在查找 麻子值的(value)不存在时的一个默认值

4、字典元素的增删改

# 字典的新增与修改
dict2 = {'A': 'apple', 'B': 'book', 'C': 'cake'}
dict2['D'] = 'duck'  # 如果字典中没有这个键,则新增键值对
dict2['C'] = 'cat'  # 如果字典中有这个键,则修改键值对
print(dict2)

# 字典的删除
del dict2['A']
dict2.pop('B')
print(dict2)  # {'C': 'cat', 'D': 'duck'}

# 清空字典
dict2.clear()  # 清空字典中的内容,内存中的地址不变
print(dict2)  # {}

5、字典元素的获取与遍历

  1. 获取所有的键, <字典对象名>.keys()方法 返回值为列表

    # 获取所有的键 .keys()方法 返回值为列表
    scores = {'张三': 29, '李四': 10, '王五': 40}
    print(scores.keys())  # dict_keys(['张三', '李四', '王五'])
    print(type(scores.keys()))  # <class 'dict_keys'>
    print(list(scores.keys()))  # ['张三', '李四', '王五']
    
    # 遍历键
    for i in scores.keys():
        print(i)
    
  2. 获取所有的值,<字典对象名>.value()方法,返回值为列表

    scores = {'张三': 29, '李四': 10, '王五': 40}
    dict_values = scores.values()
    print(dict_values)  # dict_values([29, 10, 40])
    print(type(dict_values))  # <class 'dict_values'>
    print(list(dict_values))  # [29, 10, 40]
    
    # 遍历值
    for j in scores.values():
        print(j)
    
  3. 获取所有的键值对,<字典对象名>.items()方法 返回值为元组

    #  获取所有的键值对  返回值为元组
    scores = {'张三': 29, '李四': 10, '王五': 40}
    print(scores.items())
    # dict_items([('张三', 29), ('李四', 10), ('王五', 40)])
    
    # 遍历键值对
    for a in scores.items():
        print(a)
    
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子曰京习习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值