字典操作

字典是由一对花括号括起来的一组“键值对”,每个键值对就是字典的一个元素,元素在字典中是无序的,常见操作如下:

info = {

'name':'xiaoming',

'sex':'nan',

'age':20,

'id':1,

}

print(info['id'])                    # 通过key取值

print(info['addr'])                # 通过key取值

print(info.get('id'))              # 通过key取值

print(info.get('addr'))          # 通过key取值

#用中括号取值和get方法取值的区别 ,get方法获取不到key的时候

#不会报错,中括号取值找不到key会报错,所以get方法更常用

#get方法还可以多传一个参数,如果get不到key的话,那么返回这个参数值。

#如果不写的话,默认get不到返回None

info['addr'] = 'Beijing'                             #给字典新增一个键值对

info.setdefault('phone',13811111)           #给字典新增一个键值对

info['id'] = 7

#在有这个key的情况下那就是修改这个key的value

#没有这个key的话,就是新增

#字典是无序的

del info['addr']          #删除字典的一个指定元素(键值对)

info.pop('addr')         #删除字典的一个指定元素(键值对),

#pop删除的时候必须得指定key,pop方法会返回删除的key对应的value

info.popitem()           #随机删除一个元素

info.clear()                #清空字典

 

例子:

all  = {

'car':

{

'color':['red','yellow','black'],

'moeny':1111111,

'pailiang':"2.5L",

'name':"BMW"

} ,

'car1':

{

'color':['red','yellow','black'],

'moeny':1111111,

'pailiang':"2.5L",

'country':"china"

},

'car2':

{

'color':['red','yellow','black'],

'moeny':1111111,

'pailiang':"2.5L"

}

}

print(all)

all.get('car').get('color')[1] = 'Orange'          # 把car的颜色改成Orange

print(all)

all['car']['color'][1]='Blue'                            # 把car的颜色改成Blue

print(all)

print(all.keys())         #获取该字典的所有key(最外层字典的,如果内又嵌套了字典则不管)

print(all.values())      #获取该字典所有的value

print(all.items())       #获取字典的key和value,循环的时候用

#直接循环字典循环的是字典的key,如果想循环的时候同时获取到key和value

#那么就要用.items()方法

#以上这一组方法不论取出字典的keys,values 还是结items返回的结果都是字典特定的类型你可以用打印tpye()方法来查看,不能用in判断某个字符串是否在这些返回结果里。

下面这种方法可以把一个字串转换成字典:

eval(字符串)

注意:被转换的字符串一定要符合字典的格式,比如 "{'iPhone':{'id':1,'price':5500},'iPad':{'id':2,'price':2000}}", 这样的字符串就可以用eval()方法转换成字典。

Python学习杂记_6_字典常用操作的更多相关文章

  1. Python学习杂记_5_列表常用操作

    列表操作 列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如: names=[1, 2, 3, “abc”, “d ...

  2. python学习二,字符串常用操作

    字符串可以说是在日常开发中应用最广泛的了,现在来总结下有关python中有关字符串一些常用操作 首先我们声明一个字符串变量 str = "hello world" 下面我们来依次介 ...

  3. python学习day4--python基础--字典

    字典的常用操作: #字典天然去重,key唯一,如果key相同,只能打印出一个 id_db={ 220456789852963741:{ 'name':"alex", 'age':3 ...

  4. Python基础学习----字典常用操作

    字典的常见操作: # 字典: # 格式:{键值对,键值对} dict_demo={"name":"bai-boy","age":17} # ...

  5. Python学习-列表元组字典操作

    一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...

  6. Python学习之路3 - 字符串操作&字典

    本节内容: 常用的字符串处理. 格式化输出字符串. 字符串的替换. 字符串和二进制的相互转化. 字典的操作 字符串操作 常用的字符串处理 name = 'vector' print(name.capi ...

  7. [python]pythonic的字典常用操作

    注意:dct代表字典,key代表键值 1.判断字典中某个键是否存在 实现 dct.has_key(key) #False 更Pythonic方法 key in dct #False 2.获取字典中的值 ...

  8. Python学习之路13☞常用模块

    一 time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(t ...

  9. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

随机推荐

  1. 微信小程序 input组件type属性3个值的作用

    input组件是小程序的内容输入框组件,通常是这样来使用的: <input type="text" placeholder="输入点内容吧" /> ...

  2. python3.7 json模块

    #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 json模块 ''' 要在不同的编程语言之间传递对象,就必须把对 ...

  3. codeforces 258D DP

    D. Little Elephant and Broken Sorting time limit per test 2 seconds memory limit per test 256 megaby ...

  4. poj 2533Longest Ordered Subsequence

    Longest Ordered Subsequence Description A numeric sequence of ai is ordered if a1 < a2 < - < ...

  5. 【PyTorch深度学习】学习笔记之PyTorch与深度学习

    第1章 PyTorch与深度学习 深度学习的应用 接近人类水平的图像分类 接近人类水平的语音识别 机器翻译 自动驾驶汽车 Siri.Google语音和Alexa在最近几年更加准确 日本农民的黄瓜智能分 ...

  6. Codeforces 664D Graph Coloring 二分图染色

    题意: 一个无向图的每条边为红色或蓝色,有这样一种操作:每次选一个点,使与其相邻的所有边的颜色翻转. 求解是否可以经过一系列操作使所有的边颜色相同,并输出最少操作次数和相应的点. 分析: 每个点要么选 ...

  7. mybatis特殊字符处理

    在mybatis 的mapper.xml文件中特殊字符处理方式  仅供参考 出处:http://yaobenzhang.blog.163.com/blog/static/214395113201561 ...

  8. C#入门篇6-1:字符串操作 char常用的函数

    //char 字符的常见操作 public static void FChar() { //判定字符的类别 char ch1 = 'a';//使用小引号 bool bl = true; bl = ch ...

  9. bugku 普通的二维码

    记录下对进制转换实现的重新思考. 扫描二维码扫到了一句垃圾话. 拖到winhex里面. 一开始以为是十进制直接转ascii,发现错误. 后来发现,最大数是7,八进制转换吧. 我是打算用python的l ...

  10. idea使用maven逆向mybitis的文件

    引用自 http://blog.csdn.net/for_my_life/article/details/51228098 本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件. 一. ...