由于篇幅限制,写得太长查找起来不方便,所以我又写了一篇python 常用函数总结(下)。
目录
1 返回长度
1.1 返回数组/list的长度(x为该数组/list)
len(x)
1.2 返回二维数组的大小(x为该二维数组)
x.shape
输出结果为: (行数,列数)。也可单独输出行数或列数,如下:
x.shape[0] #单独输出行数
x.shape[1] #单独输出列数
2 python的类(class)
见链接:python面向对象教程
3 字符串操作
3.1 拆分字符串(str为该字符串)
str.split()
其中,括号内的内容为拆分的依据(比如括号内为','则根据逗号进行拆分);括号内什么都没有时默认以空格为拆分依据。
3.2 合并字符串
两种方法:
1、用“+”加号
2、join函数
str = ['1', '2', '.3']
str_new = ''.join(str) # 引号里填写的是合并后,希望之前的每段由什么连接
输出结果是字符串123。
3.3 去掉字符串两端的指定字符(str为该字符串)
str=str.strip() # 删除两边空字符
str=str.rstrip() # 删除右端空字符
str=str.lstrip() # 删除左端空字符
括号内为想删除的指定字符,括号内什么都没有事默认为删除空格。
Python 里字符串是不能被改变的,所以 str.strip() 只能返回新的字符串。类似的 str.replace() 之类的也是这样。所以你需要:
s = s.strip()
(from知乎)
3.4 字符串替换(str为该字符串)
str=str.replace(old, new[, max])
old: 将被替代的子字符串;
new: 新字符串,用于替换old
max: 可选,表示替换不超过max次(没有的话:str.replace(old, new)
3.5 检查字符串中是否包含子字符串
str.find(str, beg=0, end=len(string))
str -- 指定检索的字符串
beg -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
如果包含子字符串返回开始的索引值,否则返回-1。
3.6 数子字符串个数
答案为3(用正则):
import re
s= 'abababab'
len(re.findall(r'(?=aba)', s))
3
答案为2,用字符串的count方法:
import string
s= 'abababab'
s.count('aba')
2
3.7 ASC码、数字转换、
>>> ord('b') # convert char to int
98
>>> chr(100) # convert int to char
'd'
4 列表操作
4.1 列表新增元素(list为待操作的列表)
list.append(增添的内容)
注意,如果写成a = a.append(b)是会报错的!就是a.append(b)。
4.2 列表删除元素(list为待操作的列表)
del list[1] # 删除列表中的第1项
中括号内为想要删除的元素位置。
4.3 排序(list为待操作的列表)
sorted(list)
或者
list.sort()
4.4 反向排序(list为待操作的列表)
list.reverse()
该语句没有返回值,但会对列表进行反向排序。
4.5 查找列表某个值的位置(list为待操作的列表)
p=list.index(value)
4.6 去除list中的重复项(set)
list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9]
list2 = list(set(list1))
set.add(): 直接在set中添加项,就不用再专门建一个list1了。具体用法可以参见我的github。
4.7 两个list合并
a = [1, 1]
b = [1, 0]
c = a + b
得到的c为[1,1,1,0]
5 运算操作
5.1 逻辑运算
和:and;或:or;非:not
优先级是not>and>or。
5.2 绝对值
abs()
5.3 异或运算
^是Python中的异或运算。比如x = 1, y = 4 时,x^y = 5
一个例子:leetcode中的一个题目,代码在我的github给出。
6 空
6.1 空列表
a = []
a打印出来就是[]
6.2 空矩阵
a = np.array([], dtype='int32') # 矩阵元素的类型是整型
b = np.array([], dtype='bool') # 矩阵元素的类型是True或者False