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

字典和集合(一)

在计算机中字典和集合的课后笔记记录

字典

字典参数:

所以你可以类比他就是一个新华字典, 你可以通过‘a’找到‘啊’, 也能通过‘b’去找到‘北’ 以此类推.

所以该字典含有如下参数:

key -> a, b, c

value -> 啊, 北, 参

其中你能够通过字典的key值去访问该key值对应的value值,所以通过字典我们能够建立对两组数据之间的联系.

建立/增加字典内容:

你可以通过三种办法建立/增加字典内容:

mydict[key] = value

直接添加.

mydict = dict( ( [ 'a', 'b' ] , [ '啊', '北' ] ) )

通过内置的dict办法创建, 但该办法只能创建含有两个key-value的dict, 否则会报错ValueError.

mydict = dict.fromkeys(['a','b','c'],'啊')

这样的好处是可以批量创建key, 但是缺点是所有key的值均是‘啊’, 后期可以通过对key的索引来修改每个key对应的value.

字典中key的不可变性:

相对于list的索引而言, dict中通过key来查找对应的value是更加高效的, 原因在于dict中的key在python中通过hash生成, 故具有唯一性.

为了维护这种唯一性, dict不允许key的值是可变的, 例如你可以指定一个str类型、int类型甚至是一个title类型 -> 作为key的值, 却不能指定一个list类型、set类型.

因为对于dict的key而言, list,set类型均是不可哈希对象(unhashable),即都是可变数据对象.

判断一个对象是否是字典的key:

判断一个对象是否是字典的key你可以有如下两种办法.

暴力抛出错误的办法, 你可以通过直接索引, 若key不存在则会报错KeyError.

>>> mydict = {'a':'啊','b':'北','c':'参'}

>>> mydict['a']'啊'>>> mydict['d']

Traceback(most recent call last):

File"", line1,in

KeyError:'d'

# 错误显示你的索引'd'是不存在的, 反馈KeyError.

除了抛出错误的办法你可以更温和一些, 你可以通过python语言内置的对于dict的逻辑判断语句.

>>>'a'in mydict

True

>>>'d'in mydict

False

>>>'a'not in mydict

????

>>>'d'not in mydict

????

# 尝试回答文中‘????’的内容删除字典中的内容:

你一共有三种办法删除/清除dict中的内容.

1. del

2. pop()

3. clear()

显而易见的, 我们能发现上述三种办法的缺点和优点所在.

del能够使得变量所引用的值减一「由于引用计数」, 你甚至接下来访问时会报错变量未定义.

pop()办法能够依据某个key值去删除对应的value, 同时反馈这个value.

clear()会清除该dict所有的内容, 但它仍然是一个dict, 只不过是空了, 不相信的话你可以试试type(mydict).

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券