首页 > 编程语言 > 详细

Python自动化开发从浅入深-语言基础(字典)

时间:2016-01-26 22:04:09      阅读:301      评论:0      收藏:0      [点我收藏+]

 * 字典      2016-01-22


 形如 {‘name‘:‘zhaohong‘,‘age‘,‘56‘}、{‘host‘:‘10.0.0.12‘,‘port‘:80} 为字典

创建一个字典

dic = {‘k1‘:‘v1‘,‘k2‘:v2}

dic = dict(k1=‘v1‘,k2=‘v2‘)

字典中的方法:

技术分享

 

技术分享

  获取字典中的key生成新的字典

  技术分享

 技术分享

 

 技术分享

采用下面的方法获取字典值时,如果没有相应的key系统会报错。

技术分享

如果通过get方法取字典值,即使字典中没有所要的key也不会报错,只是返回None

技术分享

当所查找的字典中不存在的key,系统返回None,但如果不想返回None,而是想返回指定值,可以这样做:

技术分享

 

技术分享

技术分享

 

技术分享

技术分享

 

技术分享

技术分享

 

下例对keys,values,items用for循环取出相应的值

技术分享

-----------------------------------------------------

技术分享

-----------------------------------------------------

 技术分享

pop需要指定key值

技术分享

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

-- 将字典中的keys和values转换为列表

技术分享

取下标值时出错,在python 2版本是可以的。

技术分享

原来,在python 3中,dict.keys()方法返回一个字典视图对象,它是作为一个set进行操作的。但测试仍然有问题....放着吧~~

In Python 3, the dict.keys() method returns a dictionary view object, which acts as a set. Iterating over the dictionary directly also yields keys, so turning a dictionary into a list results in a list of all the keys:

>>> test = {foo: bar, hello: world}
>>> list(test)
[foo, hello]
>>> list(test)[0]
foo

 

技术分享

 

-- 思考

集合为:

[11,22,33,44,55,66,77,88,99,90,91,92]

将所有大于66的值保存到字典的第一个key中,将小于66的值保存到第二个key的值中。

即:dic = {‘k1‘:大于66,‘k2‘:小于等于66}


技术分享
dic = {}
all_list = [11,22,33,44,55,66,77,88,99,90,91,92,93]
for i in all_list:
    if i>66:
        if "k1" in dic.keys():
            dic[k1].append(i)
        else:
            dic[k1]=[i,]   #[i,]是为了创建一个列表
    else:
        if "k2" in dic.keys():
            dic[k2].append(i)
        else:
            dic[k2]=[i,]
View Code

 

Python自动化开发从浅入深-语言基础(字典)

原文:http://www.cnblogs.com/whiggzhaohong/p/5150424.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!