美文网首页
[Python] Basic knowledge

[Python] Basic knowledge

作者: 紫藤lvy | 来源:发表于2020-04-02 16:19 被阅读0次

    1: 推导式列表

    >>> sqlist=[x*x for x in range(1,11) if x%2 != 0]
    >>> sqlist
    [1, 9, 25, 49, 81]
    
    >>>[ch.upper() for ch in 'comprehension' if ch not in 'aeiou']
    ['C', 'M', 'P', 'R', 'H', 'N', 'S', 'N']
    

    2: map 函数
    map() 会根据提供的函数对指定序列做映射。
    map(function, iterable, ...)

    将输入的字符串转换为Int 类型
    >>> l = list(map(int,input().split()))
            print(type(l[0]))
    >>> <class 'int'>
    >>>def square(x) :            # 计算平方数
    ...     return x ** 2
    ... 
    >>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
    [1, 4, 9, 16, 25]
    

    3 遍历列表的方法

    lst = ['a','b','c','d']
    for _ in lst:
        print(lst.index(_)+1)  //序号
        print(_)  // 值
    for _ in range(len(lst)):
        print(_+1) //序号
        print(lst[_]) //值
    for i,v in enumerate(lst):
        print(i+1) //序号
        print(v)  //值
    

    4 range 函数
    通常运用在循环 场景中

    range(start, stop[, step])
    >>> range(1,5) #代表从1到5(不包含5)
    [1, 2, 3, 4]
    >>> range(1,5,2) #代表从1到5,间隔2(不包含5)
    [1, 3]
    >>> range(5) #代表从0到5(不包含5)
    [0, 1, 2, 3, 4]
    

    5 enumerate 函数

    enumerate(sequence, [start=0])
    参数
    sequence -- 一个序列、迭代器或其他支持迭代对象。
    start -- 下标起始位置。--下表值可以改变
    返回值
    返回 enumerate(枚举) 对象。
    
    统计打开文件的行数:
    >>>count = 0
    >>>for index, line in enumerate(open(filepath,'r')): 
                count += 1
    

    6 zip 函数

    定义:zip([iterable, ...])
      zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回
    list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)
    example:
    >>>a = [1,2,3]
    >>> b = [4,5,6]
    >>> c = [4,5,6,7,8]
    >>> zipped = zip(a,b)     # 打包为元组的列表
    [(1, 4), (2, 5), (3, 6)]
    >>> zip(a,c)              # 元素个数与最短的列表一致
    [(1, 4), (2, 5), (3, 6)]
    >>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
    [(1, 2, 3), (4, 5, 6)]
    
    nums = ['flower','flow','flight']
    for i in zip(*nums):
        print(i)
    输出结果:
    
    ('f', 'f', 'f')
    ('l', 'l', 'l')
    ('o', 'o', 'i')
    ('w', 'w', 'g')
    
    

    7 常用数据类型转换

    列表转字符串
    >>> juice=['orange','a','b']  
    >>> ''.join(juice)  
    'orangeab'
    
    >>> juice=['orange','a','b']  
    >>> content='%s'*len(juice) % tuple(juice)  
    >>> print content  
    orangeab  
    >>> 
    

    8 Python os.walk() 方法
    os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

    语法
    walk()方法语法格式如下:
    os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
    参数
    top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。

    root 所指的是当前正在遍历的这个文件夹的本身的地址
    dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
    files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
    topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。

    onerror -- 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。

    followlinks -- 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。

    import os
    for root, dirs, files in os.walk(".", topdown=False):
        for name in files:
            print(os.path.join(root, name))
        for name in dirs:
            print(os.path.join(root, name))
    
    
    runfile('C:/Users/ehonlix/Desktop/a.py', wdir='C:/Users/ehonlix/Desktop')
    C:\python
    ['__pycache__']
    C:\python\DAY01.py
    C:\python\DAY1.PY
    C:\python\DAY10.py
    C:\python\DAY11.py
    C:\python\DAY12.py
    C:\python\DAY2.py
    C:\python\DAY3.py
    C:\python\DAY4.py
    C:\python\DAY5.py
    C:\python\DAY6.py
    

    相关文章

      网友评论

          本文标题:[Python] Basic knowledge

          本文链接:https://www.haomeiwen.com/subject/tjixphtx.html