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,]