• 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
    
    
    
  • 相关阅读:
    面试官:你和队友之间选一个淘汰,你怎么选?
    Spring Boot 如何干掉 if else?
    坑爹的 Java 可变参数,把我整得够惨。。
    厉害了,程序员的高考试卷,你能拿几分?
    6个步骤,全方位掌握 Kafka
    程序员逛酒吧,喝酒不是主要的。。
    图解 Java 垃圾回收机制,写得非常好!
    冲上云霄,Dubbo Go!
    人工智能都能写Java了!这款插件让你编程更轻松
    说了多少遍,姿势要对!
  • 原文地址:https://www.cnblogs.com/whiggzhaohong/p/5150424.html
Copyright © 2020-2023  润新知