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. 在linux中出现there are stopped jobs 的解决方法【转自:http://www.linuxdiyf.com/viewarticle.php?id=104604】

    在用管理员执行一个命令后,我用Ctrl+Z把命令转移到了后台天.导致我无法退出root的. 输入命令:logout终端显示:There are stopped jobs. 解决方法:输入命令:jobs ...

  2. Oracle varchar2或char类型的byte和char的区别

    那其中的BYTE和CHAR有什么区别呢 BYTE,用字节指定:VARCHAR2(10 BYTE).这能支持最多10字节的数据,在一个多字节字符集中,这可能只是两个字符.采用多字节字符集时,字节与字符并 ...

  3. Electron-vue实战(二)— 请求Mock数据渲染页面

    Electron-vue实战(二)— 请求Mock数据渲染页面 作者:狐狸家的鱼 本文链接 GitHub:sueRimn 一.环境搭建 1.安装Mock.js 如果仅仅用作脱离后台的模拟数据,就安装在 ...

  4. OpenCV常用基本处理函数(3)颜色空间

    颜色空间转换 对图像进行颜色空间转换,比如从 BGR 到灰度图,或者从BGR 到 HSV 等 我们要用到的函数是:cv2.cvtColor(input_image ,flag),其中 flag就是转换 ...

  5. 【leetcode】997. Find the Town Judge

    题目如下: In a town, there are N people labelled from 1 to N.  There is a rumor that one of these people ...

  6. mysql 获取任意一个月的所有天数。

    SELECT ADDDATE(y.first, x.d - 1) as dFROM(SELECT 1 AS d UNION ALLSELECT 2 UNION ALLSELECT 3 UNION AL ...

  7. 工厂方法配置bean

    1:静态工厂方法配置bean 1):对象 package com.spring.helloworld; public class Car { private String name; private ...

  8. HDU 1828 线段树+扫描线(计算矩形周长并)

    题意:给你n个矩形,然后矩形有可能重叠,要你求周长 思路:首先碰到这种矩形在数轴上那么第一反应应该想到的是扫描线, 做周长我们有两种方法 第一种,我们可以分开两部分求,第一遍求x轴上的贡献,第二遍求y ...

  9. Arrays(一)二次封装自己的数组

    一.二次封装自己的数组 目标:设计int 类型数组, (1)可以根据用户传入的容量设置数组的长度,如果用户未设置容量,默认设置长度为10(考虑使用多态性) (2)判断数组是否为空 (3)获取数组的容量 ...

  10. “void * __cdecl operator new(unsigned int)”(??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)

    转自VC错误:http://www.vcerror.com/?p=1377 问题描述: 当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 L ...