Python字典可存储任意类型对象,如字符串、数字、元组等,优点:取值方便,速度快
字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。基本语法如下:
dict = {'Name': 'Hacker', 'Believe': 'Free', 'Call': '996'}
注意:
print(dict['key']) #直接通过建访问,如果写了不存在的值会报错
print(dict.get('key')) #通过get()方法访问,如果写了不存在的值,返回None
print(dict.get('key','not find ')) #通过get()方法访问,如果找不到存在的值,返回 “not find”
print(dict.keys()) #获取所有的key值
print(dict.values()) #获取所有的value值
if 'key' in dict: #判断key是否存在
print('key')
for k,v in dict.items(): #遍历字典
print(k,v) #无须转换成list 格式,保留了字典原有的特性
for k in dict: #遍历字典
print(k, dict[k])
print(k, dict.get(k)) #取值速度快,性能好
dict['key'] = value #key存在即修改,key不存在即新增
dict.setdefault('key',value) #只能新增
dict.pop('key') #必须要传值,因为字典是无序的
dict.popitem() #随机删除一个
del dict['key'] #删除指定key
dict.clear() #清空字典
print(dict.items()) #输出一个list格式(非真正意义上的list,实际是'dict_items' object,不可索引查询)
print(list(dict.items())) #把字典的key 和 value 转成一个多维list
len(dict) #计算字典元素个数,即键的总数。
str(dict) #输出字典可打印的字符串。
type(variable) #返回输入的变量类型,如果变量是字典就返回字典类型。
如果访问一个字典中不存在的键,会导致一个keyerror,此时程序会由于运行时错误而崩溃。可以用“in ”检查成员关系,查看“Name”键是否在字典dict中。
if 'Name' in dict:
print("true")
else :
print("false")
用“not in ”替换 “in”,
if 'Name' not in dict:
dict['Name'] = "Hacker" #初始化,如果需要
print(dict['Name'])
访问一个键之前,可以通过确保字典中的每个键都有一个关联值来避免keyerror。尽管这里in和not in 操作符可以提供帮助,不过更成熟的技术是使用setdault 方法。
Python 字典 setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
setdefault() 方法的语法如下:
dict.setdefault(key, default=None) #key-查找的键值,default-键不存在时,设置的默认键值。
返回值
如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。
实例
dict = {'Name': 'Hacker', 'Believe': 'Free'}
print ("Value : %s" , % dict.setdefault('Name', None))
print ("Value : %s", % dict.setdefault('Call', '996'))
以上实例输出结果为:
Value : Hacker
Value : 996