zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    SQL中with(nolock)作用说明
    GridView应用随笔
    Repeater和Gridview前台显示行号的方法
    JQuery实现Ajax跨域访问--Jsonp原理
    Windows 2012 R2设置同一用户同时多点远程系统
    MySql项目中使用的小窍门
    Extjs关于combobox的二三事
    extjs 验证随手记录
    Extjs关于grid 行变色
    关于在ASP.NET MVC 中使用EF的Code First的方式来读取数据库时的Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
  • 原文地址:https://www.cnblogs.com/shi-guang/p/8074244.html
Copyright © 2011-2022 走看看