在计算机中字典和集合的课后笔记记录
字典
字典参数:
所以你可以类比他就是一个新华字典, 你可以通过‘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).
领取专属 10元无门槛券
私享最新 技术干货