首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字典:一种复杂的数据容器

首先我们先了解一下字典是什么,字典有什么特点。

1、字典是一种贴着标签的容器。

2、字典是可变数据类型,可以添加、删除、替换。

3、字典里保存着一系列的key-value对,并且没有特定的顺序。

4、一对key-value,称作一个数据项,key-value之间用冒号:连接,数据项之间用逗号,间隔。

5、字典的key可以是任何不可变的类型,可以是数字、字符串、元组。

6、字典中的value可以是任意数据类型,甚至可以是字典。

下面来详细学习字典的一些操作和方法。

一、创建字典

花括号{}或者dict()

>>> names = {}

>>> names = dict()

(注:创建空字典)

>>> items = [('name','Jane'),('age',20)]

>>> student = dict(items)

>>> student

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

>>> student = dict(name='Jane',age=20)

>>> student

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

二、字典的大小

len函数

>>> student = dict(name='Jane',age=20)

>>> len(student)

2

三、复制字典copy()

>>> student = dict(name='Jane',age=20,course=['Math','English'])

>>> student

{'course': ['Math', 'English'], 'age': 20, 'name': 'Jane'}

>>> c_student = student.copy()

>>> c_student

{'course': ['Math', 'English'], 'age': 20, 'name': 'Jane'}

>>> c_student['name'] = 'Janet'

>>> c_student['course'].remove('English')

>>> c_student

{'course': ['Math'], 'age': 20, 'name': 'Janet'}

>>> student

{'course': ['Math'], 'age': 20, 'name': 'Jane'}

(注:当副本中替换值的时候,原字典不变,当副本修改值的时候,原字典也会变。)

四、查找字典

in操作

key in dict 判断dict中是否有键为key的项,返回True/False

>>> student = dict(name='Jane',age=20)

>>> student

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

>>> 'age' in student

True

in操作和values函数的结合

判断字典中是否存在某个值,返回True/False

>>> student = dict(name='Jane',age=20)

>>> 20 in student.values()

True

has_key()

和in操作作用相同

>>> student = dict(name='Jane',age=20)

>>> student.has_key('name')

True

五、访问字典的数据项

dict[key]

>>> teacher = {'name':'Tony','age':30}

>>> teacher['age']

30

>>> teacher['age'] = 40

>>> teacher

{'age': 40, 'name': 'Tony'}

>>> teacher.get('name')

'Tony'

>>> teacher.get('age')

40

get()方法

>>> teacher = {'name': 'Tony', 'age': 40}

>>> teacher.get('name')

'Tony'

>>> teacher.get('age')

40

keys()函数:返回字典中所有的标签

>>> teacher = {'name':'Tony','age':40,'course':'Python'}

>>> teacher.keys()

['course', 'age', 'name']

>>> teacher.iterkeys()

>>> list(teacher.iterkeys())

['course', 'age', 'name']

values()函数:返回字典中所有的数据值

>>> teacher = {'name':'Tony','age':40,'course':'Python'}

>>> teacher.values()

['Python', 40, 'Tony']

>>> teacher.itervalues()

>>> list(teacher.itervalues())

['Python', 40, 'Tony']

items()函数:返回字典中所有的数据项,将每个数据项展示为二元元组。

>>> teacher = {'name':'Tony','age':40,'course':'Python'}

>>> teacher.items()

[('course', 'Python'), ('age', 40), ('name', 'Tony')]

>>> teacher.iteritems()

>>> item = teacher.iteritems()

>>> list(item)

[('course', 'Python'), ('age', 40), ('name', 'Tony')]

(注:iteritems与items的作用大致相同,但是iteritems返回的是一个迭代器,而不是一个列表。)

六、更新字典

update()方法

>>> teacher = {'name':'Jane','age':40,'gender':'female'}

>>> teacher

{'gender': 'female', 'age': 40, 'name': 'Jane'}

>>> item = {'course':['Python','Java']}

>>> teacher.update(item)

>>> teacher

{'gender': 'female', 'age': 40, 'name': 'Jane', 'course': ['Python', 'Java']}

(注:合并两个字典)

>>> teacher.update(friends = ['Janet','Tony'])

>>> teacher

{'gender': 'female', 'age': 40, 'friends': ['Janet', 'Tony'], 'name': 'Jane', 'course': ['Python', 'Java']}

(注:以key=value的形式添加数据项)

del操作:删除字典指定key的数据项

>>> teacher = {'name':'Jane','age': 40,'gender':'female','course': ['Python','Java'],'friends': ['Janet','Tony']}

>>> del teacher['gender']

>>> teacher

{'age': 40, 'friends': ['Janet', 'Tony'], 'name': 'Jane', 'course': ['Python', 'Java']}

pop()方法:删除指定key的数据项并返回value

>>> teacher.pop('age')

40

popitem()方法:删除任意一个数据项,并返回该数据项

>>> teacher.popitem()

('friends', ['Janet', 'Tony'])

clear()方法:清空字典

>>> teacher.clear()

>>> teacher

{}

以上是字典的一些基础知识,欢迎大家指正。

(文章中若出现等号=后面换行的情况,是因为数据太长屏幕显示不开。)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181229B0POKS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券