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. php yield关键字以及协程的实现

    php的yield是在php5.5版本就出来了,而在初级php界却很少有人提起,我就说说个人对php yield的理解 Iterator接口 在php中,除了数组,对象可以被foreach遍历之外,还 ...

  2. 解决PageHelper.startPage(page, size)后,关于PageInfo的total等属性不正确等问题

    在解决PageHelper.startPage(page, size);的位置问题后,又遇到total等信息错误,主要还是不细心,两个不同的List实例化进PageInfo,不能混在一起,同时要确保这 ...

  3. go(一)基础知识

    一.第一个程序 基本程序结构 package main // 包 import "fmt" // 引入依赖代码 // 功能实现 func main() { fmt.Println( ...

  4. PHP获取用户是否关注公众号。获取微信openid和用户信息

    <?php /* * 首先填写授权地址为当前网址 * 将$appid和$secret参数替换成自己公众号对应参数,需要外网可以访问服务器环境测试 */ header("Content- ...

  5. 小程序推送消息(Template)

    最近搞小程序模拟推送消息,才发现小程序推送消息接口准备下线. 请注意,小程序模板消息接口将于2020年1月10日下线,开发者可使用订阅消息功能 咱们现在有需求,所以不管下不下,完成再说. 一:”获取a ...

  6. Android学习--apk打包过程

    1. 使用aapt工具,给所有的res目录下的资源文件生成对应的id,id会被放进R.java文件中 2. JavaC编译器,将所有Java文件转换为Class文件,其中,内部类会分别生成.class ...

  7. 探索Redis设计与实现12:浅析Redis主从复制

    本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...

  8. nodejs操作消息队列RabbitMQ

    一. 什么是消息队列 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已.其主要用途:不同进程Process/ ...

  9. 【Shiro】五、Apache Shiro加密

    Shiro提供了更好封装,更好使用的加密算法API,可以作为平时使用的一个工具类的预选方案. Shiro的密码学 基本特性 接口驱动,基于POJO 对JCE(Java Cryptography Ext ...

  10. context和getApplicationContext()的区别

    在android中常常会遇到与context有关的内容 浅论一下 context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder ...