<
>

Python变量、数据类型、数据类型转换相关函数用法实例详解

2020-06-25 08:09:14 来源:易采站长站 作者:易采站长站整理

list、set、dict就不能作为key,因为其元素结果不确定,无法确定哈希值。


>>> l1=['a']>>> d1[l1]='c'
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
d1[l1]='c'
TypeError: unhashable type: 'list'

dict内部存放的顺序和key放入的顺序是没有关系的
可以使用  字典名[键]     快速查找出对应的值,键不存在则无法查找


>>> d1
{'a': 'apple', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'}
>>> d1['a']'apple'
>>> d1['d']Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
d1['d']KeyError: 'd'

可以给某一个键的对应的值重新赋值,但由于一个key只能对应一个value,所以新的赋值会把就得值覆盖掉【如果定义的时候出现多个同名的键,这个键的值以最后的赋值为准】


>>> d1
{'a': 'apple', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'}
>>> d1['a']='apple pen'
>>> d1
{'a': 'apple pen', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'}

可以使用   字典名[一个未使用的键]=值  来添加一个键值对:


>>> d1
{'a': 'apple pen', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'}
>>> d1['ai']='python'
>>> d1
{'a': 'apple pen', 'b': 'banana', 'c': 'cabbage', ('a',): 'c', 'ai': 'python'}

注:直接迭代字典,只能迭代出key


>>> dict10={1:"苹果","雪碧":"雪梨"}
>>>
>>> for i in dict10:
print(i)
1
雪碧

使用 字典名[key] 获取不存在的键时会抛出异常KeyError,可以使用成员运算符来避免或使用get()来避免


>>> dict10
{1: '苹果', '雪碧': '雪梨'}
>>> 1 in dict10
True
>>> 3 in dict10
False
>>> print(dict10.get(3))
None
>>> print(dict10.get(1))
苹果

字典常用函数:补充

集合类型:

set和dict类似,也是使用大括号包裹
可以使用大括号来定义一个集合


>>> s1={'a','b','c'}
>>> s1
{'b', 'c', 'a'}
>>> type(s1)
<class 'set'>

可以使用set来定义一个集合,set函数的参数为一个可迭代对象(Iterable)


>>> s2=set()
>>> type(s2)
<class 'set'>
>>> s3=set(['a','b','c'])
暂时禁止评论

微信扫一扫

易采站长站微信账号