python基础数据类型随笔(字典)

1、数据类型

  • 不可变数据类型:元组、bool、int、str又叫可哈希,(int、str的更改都是生成了一个新的,所以为不可变)
  • 可变数据类型:list、dict、set;不可哈希

一、字典;{键:值,键:值}

  • key:键,必须是不可变数据类型,可哈希
  • value:值,任意数据类型

 

  优点:

      • 二分查找去查询(当目标为0-100内任意数字时,先找到50,小了,再找到75这样比较快速定位到目标);
      • 存储大量的关系型数据

  特点:无序(python3.6之前的版本是无序的)

  1.  1 dic = {"name":"jin","age":18,"sex":"male"}
     2 
     3 dic['high'] = 185 #对键进行赋值添加,如果键'high'存在则将值进行覆盖。{'name': 'jin', 'age': 18, 'sex': 'male', 'high': 185}
     4 
     5 
     6 dic.setdefault('weight') #可以只输入键,值可以默认为None {'name': 'jin', 'age': 18, 'sex': 'male', 'weight': None}
     7 
     8 dic.setdefault('weight',66) #{'name': 'jin', 'age': 18, 'sex': 'male', 'weight': 66}
     9 
    10 dic.setdefault('age',20) #当键存在时,不做任何改变,不存在才进行添加 {'name': 'jin', 'age': 18, 'sex': 'male'}
    View Code
  2.  1 dic = {"name":"jin","age":18,"sex":"male"}
     2 
     3 
     4 print(dic.pop('name')) #有返回值 按'键'进行删除,返回值为键对应的值  jin
     5 print(dic) #{'age': 18, 'sex': 'male'}
     6 
     7 print(dic.pop('aaa',None)) #可设置返回值,当字典中不存在键'aaa'时,返回None
     8 
     9 print(dic.popitem()) #随机删除有返回值,返回值以元组形式返回 ('sex', 'male');(3.6版本默认删除最后一个键)
    10 print(dic) #{'name': 'jin', 'age': 18}
    11 
    12 del dic['age'] #按'键'进行删除
    13 del dic #也可以删除整个字典
    14 dic.clear() #清空字典
    15 
    16 print(dic)
    View Code
  3. 1 dic = {"name":"jin","age":18,"sex":"male"}
    2 
    3 dic2 = {"name":"alex","weight":75}
    4 
    5 dic.update(dic2) #将字典dic2中的键值更新到dic中,dic有的键将值进行覆盖,没有的键添加
    6 print(dic) #{'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75}
    7 
    8 dic['name'] = 'lilei' #直接对键赋值进行修改
    9 print(dic) #{"name":"lilei","age":18,"sex":"male"}
    View Code
  4. 1 dic = {"name":"jin","age":18,"sex":"male"}
    2 
    3 
    4 print(dic.keys()) #以列表形式输出 键 dict_keys(['name', 'age', 'sex'])
    5 print(dic.values()) #以列表形式输出 值 dict_values(['jin', 18, 'male'])
    6 print(dic.items()) #以列表内嵌套元组,元组内为键,值的方式输出  dict_items([('name', 'jin'), ('age', 18), ('sex', 'male')])
    7 print(dic['name']) # 输出键对应的值jin,没有对应键会报错  jin
    8 print(dic.get('hei')) #有输出键的值,没有不会报错会返回None    None
    9 print(dic.get('hei','没有')) #也可修改默认值None  没有
    View Code

 

posted @ 2017-12-20 16:00  摇曳时光  阅读(139)  评论(0)    收藏  举报