字典:是一种key - value的数据类型。
语法:info = { key:value }
特性:无序,key必须唯一(所以天生去重)
方法如下:
del dict[key]:删除字典指定键
len(dict):返回字典的长度
dict.clear():字典清空
dict.fromkeys(seq,val=None):创建一个新字典,以seq中的元素为键,val为初始值
注意:以上通过seq元素创建字典时,相当于浅copy的概念,seq中每个元素在内存中都是指向同一个val的值,会产生当修改一个key值时,其他的也会发生改变。
所以如果通过以上方法初始化字典时候。他的val值必须只有一层,多层就会出现上面说的现象。
注意:此方法在python3里已没有(dict.has_key(key):检查字典中是否存在key键,返回布尔值 )
替代方法是: if key名称 in 字典名
dict.iteritems():以迭代形式逐行返回键值对,python3没有了
dict.iterkeys():以迭代形式逐行返回键 ,python3没有了
dict.itervalues():以迭代形式逐行返回值 ,python3没有了
dict.pop(key):打印并删除指定键的值
dict.popitem();随机打印并删除字典中的键值
dict.update(dict1):将字典dict1键值对添加到字典dict中
dict.copy():字典浅拷贝
dict.get(key,default=None):返回字典key对应的值,不存在则返回默认值
dict.items():返回一个包含所有键,值元组列表
dict.values():以列表形式显示字典所有值
dict.keys():以列表形式显示字典所有键
dict.setdefault(key,default=None):如果key不存在,则使用default赋值,
循环一般有2种方法:
1:for i in dict:
print (i,dict[i])
2: for k,v in dict.items():
print(k,v)
以上2种循环,第一种效率高速度快,第二种效率低下,
原因:第一种是直接循环字典的键,并从键直接提取值
第二种是先将字典转换为列表,然后在循环提取。(多一层转换,所以会效率低)