字典操作

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

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()方法转换成字典。

最新文章

  1. .Net 4.5可执行程序OutOfMemory
  2. div一直浮动在页面的底部
  3. Java Web中将oracle的数据库内容以表格形式展现到页面中(分页展示)
  4. opencl gauss filter优化(二)
  5. 用命令 安装/卸载 windows服务(转)
  6. sublime3的licence(update 2016-04-14)
  7. New MVC World
  8. socket 基础学习
  9. openstack 虚拟机流量
  10. mvn export runnable jar
  11. IOS之沙盒(Sandbox)机制
  12. C# Socket SSL通讯笔记
  13. (二)—Linux远程连接与常用命令
  14. 安装 SIP 服务器
  15. JMeter-性能测试监控(解决.sh文件的启动)
  16. 解决idea spring boot项目中target中没有同步更新最新目录文件及资源
  17. Python 执行 mysql 存储过程
  18. Entity Frame Code First 简易教程
  19. 怎样从外网访问内网Apache HTTP Server
  20. 4-Three-Matterhorn man

热门文章

  1. UC浏览器打开首页显示:显示此网页时出了点问题
  2. JavaScript对象创建的九种方式
  3. Python装饰器使用规范案例详解
  4. Python学习笔记:装饰器
  5. python编写登录接口
  6. poj 3292 H-素数问题 扩展艾氏筛选法
  7. easyui datagrid复选框控制单选
  8. 慢慢琢磨JVM
  9. 数据库——MySQL进阶
  10. 微信小程序-----校园头条详细开发之注册登录