zoukankan      html  css  js  c++  java
  • enumerate()使用

    enumerate()使用

    如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:

    list1 = ["这", "是", "一个", "测试"]
    for i in range (len(list1)):
        print i ,list1[i]

    上述方法有些累赘,利用enumerate()会更加直接和优美:

    list1 = ["这", "是", "一个", "测试"]
    for index, item in enumerate(list1):
        print index, item
    >>>
    0 这
    1 是
    2 一个
    3 测试

    enumerate还可以接收第二个参数,用于指定索引起始值,如:

    list1 = ["这", "是", "一个", "测试"]
    for index, item in enumerate(list1, 1):
        print index, item
    >>>
    1 这
    2 是
    3 一个
    4 测试

    三元运算
    val = a if 3<6 else b

    判断文件是什么编码,用第三方库判断
    import chardet

    读文件
    f = open('1.txt',mode = 'rb') #b的作用是读出二进制

    f = open('1.txt',mode = 'ab' #a 追加模式

    mode = 'r+' #读写模式,先读后写
    mode = 'w+' #写读模式,先以写的模式打开,再读

    flush() #把内存写进硬盘里

    readable() #判断是否可读

    tell() #返回当前光标位

    seek() #回光标位

    read() #读的是字节
    seek() 和 tell() #读的是字符

    f.truncate() #从当前位置删除

    Word文档打开时是先打开到内存里面去

    函数

    def 定义

    形参
    实参
    默认参数
    默认参数必须放在形参的后面

    非固定参数
    send_alert(msg,*user) args # *传递的参数就可以不再固定个数 ,*后打包成元组

    func(name,*args,**kwargs)

    return #代表一个函数的终止;函数永远只会返回一个值

    局部变量 #先执行局部变量,再全局变量

    函数内部,可以调用全局变量

    global #在函数里修改全局变量

    嵌套函数

    一个函数就是一个作用域,代码定义完成后,作用域就已经生成,无论其中的函数在哪里运行,该函数都会返回其作用域里运行


    匿名函数:lambda x,y:x*y #声明一个匿名函数,复杂程度只能到三元运算

    高阶函数 #接受一个或多个函数作为输入;;return返回另外一个函数

    递归函数的返回值

    def calc(x,count):
    if count < 5:
    x = x/2
    print('x', x)
    return calc(x,count+1)         #此return是为了上一层获得下一层的return值

    else:
    print('x',x)
    return x                  #此return是为了使最底层返回一个值给上一层,两个return 缺一不可

    递归的特性
    1.必须要有一个明确的结束条件
    2.每次进入下一层,问题规模比上次递归要有所减少
    3.递归效率不高,递归次数过多会导致栈溢出
  • 相关阅读:
    自定义动画animate()
    【Java】正则表达式
    【Java】连接数据库SQLServer
    【Java】导入导出TXT文件
    【数据库】SELECT语句
    数据结构与算法系列之目录
    【Java】员工统计
    【Java】生产者消费者模式
    【Java】购物超市
    【Java】导入导出Excel表格
  • 原文地址:https://www.cnblogs.com/tyh-tesla/p/8447092.html
Copyright © 2011-2022 走看看