Python字典
1.定义和创建字典是另外一种可变容器模型并且可以存储任意类型对象字典的每个键值keyvalue对用冒号分割每个键值对之间使用逗号分割整个字典包括在花括号{}中格式如下所示需要注意的是dict作为Python的关键字和内置函数变量名不建议命名为dict键一般是唯一的如果重复最后一个的键值对会替换前面的值不需要唯一举个例子逐行分析第一行创建了一个字典键“b”出现了 两次也就是这个键被定义了两次在Python中字典的键必须是唯一的后面的键值对会覆盖前面的所以实际字典中“b”对应的值是3而前面的“b”2被覆盖所以最终的字典就是上述最终输出的结果第二行如果是在交互式环境中该行代码的作用是访问键“b”对应的值但是如果在脚本中的话不会执行任何操作第三行输出字典中的内容字典中的键的值可以取任何类型的数据但是键必须不可变如字符串数字或元素举个例子第一个字典创建的时候使用字符串作为键对应的值是字符串第二个字典创建了一个只有一个键值对的字典键是字符串值是整数第三个字典创建了一个包含两个键值对的字典第一个键是字符串对应的值是整数第二个键是浮点数对应的值是整数需要注意的是Python字典的键必须是不可变类型如字符串、数字、元组等这里使用浮点数是合法的因为浮点数是不可变的语法和形式允许但是在实际时间的时候不建议这么做因为浮点数作为键的时候存在着精度的问题2.字典的访问把相应的键放入熟悉的方括号举个例子如果用字典里没有的键访问数据会输出错误如图所示3.修改字典向字典中添加新内容的方法是增加新的键值对也可以进行删除或者修改键值对举个例子如图所示分别列举了字典中元素的更新和添加接下来进行删除字典中的元素可以进行单一的删除也可以进行整体的删除在执行完最后一行代码之后如果再次执行打印操作会报错的因为这个时候整个字典已经被删除了3.字典键的特性字典值可以没有任何限制地取任何Python对象既可以是标准的对象也可以是用户定义的但是键不行有两个需要注意的点1.一个键不允许出现两次如果同一个键在创建后被赋值两次那么第二次的值会覆盖第一次的值也就是说只能记住最后一次的赋值上面我们已经给出过具体的例子。2键必须不可变所以可以用数字字符串或者元组充当用列表就不行4.Python字典的内置函数和方法1内置函数函数描述cmpdict1,dict2比较两个字典元素lendict计算字典元素个数也就是键的总数strdict输出可打印的字符串表示type(variable)返回输入的变量类型如果变量是字典就返回字典类型如果实际使用的话输出内容是这样的2Python字典包含了以下内置方法方法描述dict.clear()删除字典内所有元素但是不删除字典本身dict.copy返回一个字典的浅复制dict.fromkeys(seq[,val])创建一个新字典val为字典所有键对应的初始值dict.get(key,dafaultNone)返回指定键的值如果值不在字典中返回defaultdict.has_key(key)如果键在字典里返回true如果不在返回falsedict.items以列表返回可遍历的键、值元组数据dict.keys()以列表返回一个字典的所有键dict.setdefault(key,defaultNone)和get类似但是如果键不存在于字典中将会添加键并将值设为defaultdict.update(dict2)把字典dict2的键值对更新到dict里dict.values()以列表形式返回字典中的所有值pop()key[,default]删除字典给定键key所对应的值返回值为被删除的值key值必须给出否则返回defaultpopitem返回并删除字典中的最后一对键和值