[Python] Basic knowledge

2020-04-02  本文已影响0人  紫藤lvy

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
上一篇下一篇

猜你喜欢

热点阅读