Python的用法笔记本

python

python什么都好,就是可以的选择实在太多了。所以,用这一篇博文记录一下:

str和list互相转换

str转list

>>> a='apple'

>>> list(a)

['a', 'p', 'p', 'l', 'e']

list转str

>>> b=['a', 'p', 'p', 'l', 'e']

>>> ''.join(b)

'apple'

List的slicing用法

>>> num=list(range(20))

>>> num[:]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>> num[1:10]

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> num[1:-1]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

>>> num[::-1]

[19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> num[1:9:-1]

[]

>>> num[9:1:-1]

[9, 8, 7, 6, 5, 4, 3, 2]

上述例子基本可以包含 slicing 的用法了:

num[a:b:c]

a: 表示slice的初始位置,且slice的结果包括它

b: 表示slice的结束位置,且slice的结果不包括它,这一点在range()函数中也是一样

c: 表示slice的步长,若是负数,则a:bslice的顺序必须是reversed的顺序,否则就如>>> num[1:9:-1] #[]

敲黑板,slicing操作对于tuple和string同样适用,只不过返回的仍然是tuple和string

>>> a

'apple'

>>> a[::-1]

'elppa'

两个list长度对齐

很多时候,我们需要对list进行补齐处理,然后往短的list后面补None或者0之类的值。其实,语法很简单,就是有时候想不到哈哈。

首先,对于字符串,python有一个zfill()函数可以往前补0

>>> s='123'

>>> s.zfill(6)

'000123'

然后,对于list呢,我的方法只能这样了:

>>> a=list(range(3))

>>> b=list(range(5))

>>> a.extend([0 for _ in range(len(b)-len(a))])

>>> a

[0, 1, 2, 0, 0]

字符串str的前缀或者后缀识别

str.endswith(suffix[, start[, end]])

Python3 endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。

str.startswith(str, beg=0,end=len(string));

startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

  • 用法:

比如下述用法,返回特征中后缀带 _cat的columns名称

c_cat = [c for c in train.columns if c.endswith('_cat')]

判断字符串全为数字

python有个isdigit()函数,如果str全为数字,则返回true

关于矩阵生成

numpy可以生成对角矩阵

>>> np.eye(5)

array([[ 1., 0., 0., 0., 0.],

[ 0., 1., 0., 0., 0.],

[ 0., 0., 1., 0., 0.],

[ 0., 0., 0., 1., 0.],

[ 0., 0., 0., 0., 1.]])

numpy生成三角矩阵

>>> np.tri(3,3,0)

array([[ 1., 0., 0.],

[ 1., 1., 0.],

[ 1., 1., 1.]])

>>> np.tri(3,3,-1)

array([[ 0., 0., 0.],

[ 1., 0., 0.],

[ 1., 1., 0.]])

list里的部分元素进行排序

有时候,我们只需要对a[3:]的元素进行排序,并且进行inplace替换,貌似只能这样

>>> a

[8, 7, 6, 5, 4, 3, 2, 1]

>>> a[3:]=sorted(a[3:])

>>> a

[8, 7, 6, 1, 2, 3, 4, 5]

  • Reference:

  1. python slice的几个小点总结
  2. 关于三角矩阵

以上是 Python的用法笔记本 的全部内容, 来源链接: utcz.com/z/387226.html

回到顶部