day05 python
 
一.字典
    1.dict 用{}表示, 存放的是: key:value    (开发的都知道的是键值对数据,这样说)
        key: 关键字不能重复, 不可变    (什么样的数据类型可以用做key: 不可变, 唯一的数据类型, 如数字, 字符串, bool, 元组)(不可变又称为可哈希)
        hash: 哈希是一种算法,
        
    2.字典的增删改查
        增
dic = {}
dic['name'] = 'bajie'       #强制添加, 或强制修改
print(dic)
 
dic.setdefault('name','wukong')     #如果key存在则不添加, 不存在时才添加
print(dic)
        删
dic.pop('name')    #需要通过key键去pop, 有返回值,返回value 的值
print(dic)
 
dic.popitem()   #随机删, 有返回值, 返回一个元组
print(dic)
 
del dic['age']      #删一个键值对
print(dic)
 
dic.clear()     #结果是{}, 清空一个字典
print(dic)
 
#dic.remove()   #字典没有这个操作
        改
dic = {'name':'wukong', 'age':20}
 
dic['name'] = 'bajie'           #强制修改
print(dic)
 
dic.update({1:'1', 2:'2', 'age':100})      #和列表的extend类似, key已经存在了,就是强制修改
print(dic)
 
#dic.setdefault('age', 66)        #用这个改不了, 只能添加
#print(dic)
        查
print(dic['name'])      #用key直接查value, 没有key 在字典中,会报错
 
print(dic.get('old','not found'))        #没有key时, 不报错, 返回你写的默认值(不写的时候返回 None)
 
print(dic.setdefault('name'))       #也可以查, 是因为, 它先去查, 然后再去确定是否操作
 
for item in dic:        #for 循环默认是获取字典中的key键
    print(item)
 
    3.字典的其他操作
print(dic.keys())
>>>dict_keys(['name', 'age', 1, 2])    #结果是高仿列表, 不能用index取值, 能用 for 取值
 
print(dic.values())    
>>>dict_values(['wukong', 20])
 
print(dic.items())
>>>dict_items([('name', 'wukong'), ('age', 20)])
    
    4.解构(解包)
a,b = 1,2    #这个是元组
a,b = (1,2)
a,b = '12'        #字符串
a,b = [1,2]        #列表
a,b = {'name':1,'age':2}    #字典
a,b = {1,2}        #集合
#a,b = 12     #单个数字不行, 因为前后的位置个数要相同, 才可以解构
 
print(a,b)
 
    5.批量创建字典(几乎没人用)
dic1 = {}
dic2 = dic1.fromkeys([1,2,3],'abc')
print(dic2)
>>>{1: 'abc', 2: 'abc', 3: 'abc'}
 
    6.字典的嵌套
dic = {
    'name':'bajie',
    'age':'66',
    'wife':{
        'name':'datang',
        'age':'20'
    },
    'boby':[
        {'name':'daxiong','age':3},
        {'name':'erxiong','age':4}
    ]}
 
print(dic['boby'][0]['age'])
 
 
 
 
 
 

day05 python字典的更多相关文章

  1. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  2. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  3. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  4. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

  5. python 字典实现类似c的switch case

    #python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...

  6. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  7. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  8. Python 字典(Dictionary) get()方法

    描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  9. Python 字典(Dictionary) setdefault()方法

    描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: ...

随机推荐

  1. lsyncd+rsync文件实时同步

    1.rsync两端都需要安装 yum -y install rsync 2.提供lsyncd的安装源 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x ...

  2. html使用字符串拼接js函数时传字符串参数

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  3. Linux下的上传和下载yum install -y lrzsz

    先使用命令 yum install -y lrzsz rz 上传    或者直接拖动 sz 要下的文件 回车

  4. JavaSE---类、对象、成员变量、局部变量

    1.概述 1.1 类 1.1.1 类   是一种  自定义的  引用  数据类型: 1.2 对象 1.2.1 创建对象的根本途径:构造器: 通过new关键字   来调用  某个类的构造器: packa ...

  5. Java多线程状态切换

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11426573.html 线程状态 NEW RUNNABLE BLOCKED WAITING TIMED ...

  6. spring Data solr依赖文件 和xml配置文件

    <dependencies>        <dependency>            <groupId>org.springframework.data< ...

  7. vue开发环境及vue相关

    一.安装node.js Vue项目通常通过webpack工具来构建,而webpack命令的执行是依赖node.js的环境的,所以首先要安装node.js. 二.安装cnpm cnpm是淘宝对npm的镜 ...

  8. OC学习篇之---类的三大特性(封装,继承,多态)

    之前的一片文章介绍了OC中类的初始化方法和点语法的使用:http://blog.csdn.net/jiangwei0910410003/article/details/41683873,今天来继续学习 ...

  9. 自己封装 vue 组件 和 插件

    vue 组件 一.组件的创建,两种方法.(本质上是1.2两种,vue文件,只是创建了一个  组件选项对象,仅是一个js对象)1.定义组件:Vue.component('button-counter', ...

  10. 使用struts2未登录,不能操作

    1.定义拦截器类: 注意登录的action,登录成功在session存入标记(login) import com.opensymphony.xwork2.ActionContext; import c ...