zoukankan      html  css  js  c++  java
  • 易错题

    def num():
        return [lambda x:i*x for i in range(4)]
    i = 5
    print([m(2) for m in num()])
    3.1 下面代码的输出结果将是什么?(2018-3-30-lxy)
    1. list = ['a', 'b', 'c', 'd', 'e']
    2. print list[10:]
    下面的代码将输出[],不会产生IndexError错误。就像所期望的那样,尝试用超出成员的个数的index
    来获取某个列表的成员。
    例如,尝试获取 list[10]和之后的成员,会导致 IndexError。
    然而,尝试获取列表的切片,开始的 index 超过了成员个数不会产生 IndexError,而是仅仅返回一
    个空列表。这成为特别让人恶心的疑难杂症,因为运行的时候没有错误产生,导致 bug 很难被追踪到。
     
    3.7 下面这段代码的输出结果是什么?请解释?(2018-4-16-lxy)
    def extendlist(val, list=[]):
        list.append(val)
        return list
    
    list1 = extendlist(10)
    list2 = extendlist(123, [])
    list3 = extendlist('a')
    
    print("list1 = %s" %list1)
    print("list2 = %s" %list2)
    print("list3 = %s" %list3)
    输出结果:
    list1 = [10, 'a']
    list2 = [123]
    list3 = [10, 'a']
    新的默认列表只在函数被定义的那一刻创建一次。当 extendList 被没有指定特定参数 list 调用时,这组 list 的值
    随后将被使用。这是因为带有默认参数的表达式在函数被定义的时候被计算,不是在调用的时候被计算。
     
    下列代码的输出结果是?
     
    def num():
        return [lambda x:i*x for i in range(4)]
    i = 5
    print([m(2) for m in num()])

     输出

    [6,6,6,6]
  • 相关阅读:
    CDH中flume是已经启动着了…
    CDH中,执行HIVE脚本表联查权限问题。。
    linux screen 命令详解(未验证+研究)
    004ICMP-type对应表
    003iptables 命令介绍
    002利用zabbix监控某个目录大小
    Nginx图片剪裁模块探究 http_image_filter_module
    linux增加自定义path和manpath
    TortoiseSVN中图标的含义
    Linux SVN 搭建(YUM)安装
  • 原文地址:https://www.cnblogs.com/ryxiong-blog/p/11354959.html
Copyright © 2011-2022 走看看