Python—字典

数据类型划分

  • 不可变数据类型(可哈希):元组、bool、int、str 
  • 可变数据类型(不可哈希):list、dict、set

字典dict

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

  字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

  • 字典操作—增
dic = {'age':18,'name':'jin','sex':'male'}

dic['age'] = 15 #当字典中已经有age键值对时,执行的操作是修改age的值
>>>{'name': 'jin', 'age': 15, 'sex': 'male'}

dic['nero'] = 30 #当字典中没有nero键值对时,执行的操作是将nero键值对添加到字典中
>>>{'age': 18, 'sex': 'male', 'nero': 30, 'name': 'jin'}

dic.setdefault('ray','hey') #当字典中没有ray键值对时,将ray键值对添加到字典中,如只添加键而没有值,默认值为None
dic.setdefault('ray',10) #当字典中已经有ray键值对时,不执行任何操作,也不覆盖原值
>>>{'age': 18, 'name': 'jin', 'ray': 'hey', 'sex': 'male'}
  • 字典操作—删
dic = {'age':18,'name':'jin','sex':'male'}

dic.pop('name') #指定键值删除,可以只输入key
>>>{'age': 18, 'sex': 'male'}

dic.popitem() #随机删除一个键值对
>>>{'sex': 'male', 'name': 'jin'}

del dic['age'] #指定键值删除,键值不存在则报错
>>>{'name': 'jin', 'sex': 'male'}

dic.clear() #清空字典
>>>{}
  • 字典操作—改
dic1 = {'nero':30,'hobby':'girl','sex':'man','age':18}
dic = {'age':18,'name':'jin','sex':'male'}

dic.update(dic1) #将dic1中所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic中
>>>{'age': 18, 'sex': 'man', 'hobby': 'girl', 'nero': 30, 'name': 'jin'}

dic['key'] = value #如果已有则改,没有则增

字典操作—查

dic = {'age':18,'name':'jin','sex':'male'}

print(dict[key]) #如果字典中没有该key,将会报错

for循环查找

print(dic.get('sex')) #如果字典中没有该key,则返回None,有则返回key的值
>>>male
原文地址:https://www.cnblogs.com/NeroCl/p/8074200.html