Python-字典

1. 什么是字典

字典是Python中唯一内建的映射类型,由多个键(key)及其对应的值(value)所组成的一种数据类型。键可以是数字、字符串或者元组

2. 字典的结构与创建方法

  • 在Python中,dict用代表字典,并且可以创建一个字典
  • 在Python中,通过{} 将一个个key 与 value 存入字典中
a = dict()
a = {}
person = {'name': '小明', 'age': 18}

2.1 dict函数

通过其他映射(如其他字典)或键/值序列建立字典。

student = [('name', '小明'), ('number', '1001')]
detail = dict(student)
print('学生详细信息:', detail)
print('学生姓名:', detail['name'])
print('学生学号:', detail['number'])

dict 函数可以通过关键字参数创建字典

detail = dict(name='小红', number='1002')
print('学生详细信息:', detail)

2.2 字典的基本操作

2.2.1 修改字典

向字典添加新内容的方法是增加键值对,修改或删除已有键值对

students = {'小明': 1001, '小红': 1002, '小强': 1003}
students['小强'] = 1005
print(students)
students['小牛'] = 1006
print(students)

2.2.2 删除字段元素

显示删除字典原始,用del命令

students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
del students['小张']
print(students)
# 删除整个字典
del students

2.2.3 字典键的特性

  1. 字典的键不允许重复

  2. 字典的键不可改变,可以使用数字、字符串或元组,不能使用列表

2.3 字典和列表的区别

dict的特点是:

  • 查找和插入的速度极快,不会随着key的增加而变慢
  • 需要占用大量内存,内存浪费多

list的特点是:

  • 查找和插入时间锁着元素的增加而增加
  • 占用空间小,浪费内存很少

2.4 字典方法

2.4.1 clear()

功能:

用于删除字典内所有内容

用法:

dict.cleat()
students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
print('字段的元素个数为:%d 个' % len(students))
students.clear()
print('字段的元素个数为:%d 个' % len(students))

2.4.2 copy()

功能:

返回一个具有相同键值对的新字段。(该方法是浅拷贝)

用法:

dict.copy()
students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
st = students.copy()
print('赋值后得到的st为:', st)

2.4.3 fromkeys()

功能:

用于创建一个新字典,以序列seq中的元素做字典的键,value为字典所有键对应的初始值

用法:

dict.fromkeys(seq[],value)
seq = ('name', 'age', 'sex')
info = dict.fromkeys(seq)
print('新字典为:%s' % info)
info = dict.fromkeys(seq, 10)
print('新字典为:%s' % info)

2.4.4 get()

功能

返回指定键的值,如果值不在字典中,就返回默认值

用法:

dict.get(key,default=None)

students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
print('小红的学号为:%s' % students.get('小红'))

2.4.5 items()

功能:

以列表返回可遍历的键值元组数组

用法:

dict.items()

students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
print('调用items方法的结果: %s' % students.items())
# 调用items方法的结果: dict_items([('小明', 1001), ('小红', 1002), ('小强', 1003), ('小张', 1004)])

2.4.6 keys()

功能:

以列表返回一个字典所有键

用法:

dict.keys()

students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
print('字段students所有键为:%s' % students.keys())
# 字段students所有键为:dict_keys(['小明', '小红', '小强', '小张'])

2.4.7 setdefault()

功能:

用于获得与给定键相关联的值。如果键不存在与字典中,就会添加键并将值设为默认值。

用法:

dict.setdefault()

students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
print('小萌的键值为:%s' % students.setdefault('小萌'))
# 小萌的键值为:None
print('小明的键值为:%s' % students.setdefault('小明'))
# 小明的键值为:1001

# 默认值可以选择,如果不设定,就是用None
print('小黄的键值为:%s' % students.setdefault('小黄', 1005))
# 小黄的键值为:1005

2.4.8 update()

功能:

用于把字典的键值对更新到指定字典中

用法:

dict.update(dict2)
# 将dict2添加到字典dict中去

student1 = {'小明': 1001, '小红': 1002}
student2 = {'小强': 1003, '小张': 1004}
student1.update(student2)
print('student1新字典为: %s' % student1)
# student1新字典为: {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}

2.4.9 values()

功能:

以列表方式返回字典中所有值。

用法:

dict.values()

students = {'小明': 1001, '小红': 1002, '小强': 1003, '小张': 1004}
print('students字典所有值为: %s' % list(students.values()))
# students字典所有值为: [1001, 1002, 1003, 1004]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值