字典和列表的区别:
1.键类型
字典的键不一定为整型数据,也可能是其他不可变型,如浮点型(实型)、字符串或元组。
2.自动添加
即使那个键起初在字典中并不存在,也可以为它分配一个值,这样字典就会简历新的项。而不能将值关联到列表范围之外的索引上。
3.成员资格
表达式 k in d (d为字典) 查找的是键,而不是值。
表到时 v in l (l为列表) 查找的是值,而不是索引。
在字典中检查键的成员资格比在列表中检查值得成员资格更高效。
还有:
1.键可以为任何不可变类型--是字典最强大的地方。
2.如下:
空列表不能赋值任意地方
除非用[None]*43先初始化
>>> x = []
>>> x[42] = 'Foobar'
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
x[42] = 'Foobar'
IndexError: list assignment index out of range
>>> x = {}
>>> x[42] = 'Foobar'
>>> x
{42: 'Foobar'}
1.键类型
字典的键不一定为整型数据,也可能是其他不可变型,如浮点型(实型)、字符串或元组。
2.自动添加
即使那个键起初在字典中并不存在,也可以为它分配一个值,这样字典就会简历新的项。而不能将值关联到列表范围之外的索引上。
3.成员资格
表达式 k in d (d为字典) 查找的是键,而不是值。
表到时 v in l (l为列表) 查找的是值,而不是索引。
在字典中检查键的成员资格比在列表中检查值得成员资格更高效。
还有:
1.键可以为任何不可变类型--是字典最强大的地方。
2.如下:
空列表不能赋值任意地方
除非用[None]*43先初始化
>>> x = []
>>> x[42] = 'Foobar'
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
x[42] = 'Foobar'
IndexError: list assignment index out of range
>>> x = {}
>>> x[42] = 'Foobar'
>>> x
{42: 'Foobar'}