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. MD相关语法

    原文链接:https://www.jianshu.com/p/96ecaa2cc989 标题 一个#表示一级标题,最多6个表示6级标题 h1 h2 h3 h4 h5 h6 列表 无序列表,用 * + ...

  2. vue-router中的router-link的active-class

    vue-router中的router-link的active-class   在vue-router中要使用选中样式的方法有两种: 1.直接在路由js文件中配置linkActiveClass 2.在r ...

  3. (转)Uncaught TypeError: Cannot set property 'innerHTML' of null

    (转)http://www.cnblogs.com/Ricky-Huang/p/5536253.html 在使用Ueditor的时候,会爆出这样的错误: 浏览器控制台就报错了 Cannot set p ...

  4. Yii2邮件发送

    1.在配置文件main-local.php components=>[]里面配置 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', ...

  5. vue iframe嵌套单页面时打开新窗口并自定义浏览器标题

    vue打开新窗口两种写法,效果一样: 第一种: router-link 传参用query或者params都可以,tagget和tag一定要加上才可以: 第二种: 直接写成a标签就可以了. 改变浏览器窗 ...

  6. 3D打印切片软件Cura及CuraEngine原理分析

    引言 年初开始进入3D打印行业,受命以Cura为基础,研发一款自主的3D打印切片软件. 自主研发要取其长处,补其不足,首先自然是要搞清楚Cura到底做了什么,读Cura的代码是必需的.我一向都觉得比起 ...

  7. 存储-docker数据共享(13)

    容器与 host 共享数据 我们有两种类型的 data volume,它们均可实现在容器与 host 之间共享数据,但方式有所区别. 对于 bind mount 是非常明确的:直接将要共享的目录 mo ...

  8. HTML中多媒体标签技术说明

    在纯文本的HTML页面中加入图片,给原来单调乏味的页面添加生气.HTML语言中利用<IMG>标记插入图片. 1.图片标记<IMG>及其属性 在网站上,网页设计者都使用了大量精心 ...

  9. Myeclipse下使用Maven搭建spring boot2.0项目

    现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫st ...

  10. 尚学linux课程---12、vim操作命令2

    尚学linux课程---12.vim操作命令2 一.总结 一句话总结: 要看不同的视频,每个视频的关键点都不一样,不如之间的的视频就没讲到vim中set nu是什么意思 学了的内容一定要练,不然真的是 ...