zoukankan      html  css  js  c++  java
  • day11

    1. 考试最后一道大题:

    user_list=[
            {"name": "alex", "hobby": "抽烟"},
            {"name": "alex", "hobby": "喝酒"},
            {"name": "alex", "hobby": "烫头"},
            {"name": "wusir", "hobby": "喊麦"},
            {"name": "wusir", "hobby": "街舞"},
             ]
    # 编写函数处理user_list 并返回如下结果:
        [{'name': 'alex', 'hobby_list': ['抽烟', '喝酒', '烫头']},
        {'name': 'wusir', 'hobby_list': ['喊麦', '街舞']}
        ]
    # 思路: 
    #     1. 创建一个新列表
    #     2. 遍历列表user_list
    #     3. 判断: (1)如果列表user_list遍历出来的元素的name 在新列表中没有,就添加进去,并且转换列表,添加之后name相同的人的hobby进去.
    #              (2)如果新列表中有了name一样的元素,就把他的hobby添加到hobby_list列表中    
    result_list = []
    for ren in user_list:
        for el in result_list:
            if ren['name'] == el['name']:
                el['hobby_list'].append(ren['hobby'])
                break
        else:
            dic = {}
            dic['name'] = ren['name']
            dic['hobby_list'] = [ren['hobby']]  # 第一个人的hobby转化成列表,容纳之后名字一样的人的hobby添加进去
            result_list.append(dic)  # 第一个人进去
    print(result_list)

    2. 默认值参数的使用(深坑)

    # 如果默认值参数是一个可变的数据类型, 如果有人调用的时候改变了他. 其他位置看到的也跟着改变
    
    def extendList(val,list=[]):  # 每次用的都是原来这个默认值列表,不是新的默认值列表
        list.append(val)
        return list
    list1 = extendList(10)  # lst = [10,'a']
    list2 = extendList(123,[])  # 给了[],就用户给的这个[]
    list3 = extendList('a')  # lst = [10,'a']
    print('list1=%s' % list1)   # list1=[10,'a']  1和3用的都是默认值列表,用的同一个对象
    print('list2=%s' % list2 )  # list2=[123]   list2参数给了[],就用它给的这个[]
    print('list3=%s' % list3)   # list3=[10,'a']  默认值列表里已经有了10,这又往默认值列表里面添加了a,别处看到的默认值列表也会跟着变
  • 相关阅读:
    2010,只有感恩。
    用 pythonmessage 为程序库和日志模块解耦
    PHP 范例
    Install Perl CPAN modules
    关于人生的思考
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    PHP error: Cannot modify header information headers already sent
    Iceweasel安装Java plugin
    ARP协议以及集线器,交换机,路由器的组合
    Java 字符串操作
  • 原文地址:https://www.cnblogs.com/kangqi452/p/11305550.html
Copyright © 2011-2022 走看看