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

 * 字典      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

 

posted @ 2016-01-26 21:28  赵洪  阅读(232)  评论(0编辑  收藏  举报