先来简单的
对列表插入元素或者删除元素:
删除:
str=[1,2,3,4,5,2,6]
str.remove(2) ##### remove函数,删除列表对应的元素
str
[1, 3, 4, 5, 2, 6] ###移除元素 2。
str.pop(1) #####pop函数,删除对应位置的元素,默认最后一位
str
[0, 2, 3, 4, 5, 6]
del str[1] ####删除对应位置的元素,注意这里是中括号
str
[1, 3, 4, 5, 2, 6]
插入:
sm = ['cat','dog','bat','spider']
sm.append('fox') ####默认把元素插入到最后
['cat','dog','bat','spider','fox']
sm = ['cat','dog','bat','spider']
sm.insert(2,'fox') ### 插入到对应的位置
print(sm)
['cat', 'dog', 'fox', 'bat', 'spider']
LIST1 = ['cat', 'dog', 'fox', 'bat', 'spider']
LIST2 = ['BED','CHICKEN','ANTS','NO1']
LIST1.extend(LIST2) ###将一个列表的元素全部插入到另外一个列表中
print(LIST1)
['cat', 'dog', 'fox', 'bat', 'spider', 'BED', 'CHICKEN', 'ANTS', 'NO1']
####求分位值
a = range(1,101)
求取a数列第90%分位的数值
np.percentile(a, 90)
####enumerate函数
这个函数平时用的不多,但是这个函数在某些时候很方便,我们先来看一下这个函数有什么用:
语法:
enumerate(sequence, [start=0])
sequence -- 一个序列、迭代器或其他支持迭代对象。
start -- 下标起始位置。
示例:
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
for 循环
seq = ['one', 'two', 'three'] for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three
某些时候这个函数会很好用,大家可以借鉴。
python的格式化输出
之前说过python的格式化输出,%s,format很常用,这次来一个也很常用的格式化输出的写法:
zhao = 'fei'
print(f'I want {zhao}')
结果将输出 I want fei。
python中zip函数的用法
import numpy as np
a=[1,2,3,4,5]
b=(1,2,3,4,5)
c=np.arange(5)
d="zhang"
zz=zip(a,b,c,d)
print(zz)
输出:
[(1, 1, 0, 'z'), (2, 2, 1, 'h'), (3, 3, 2, 'a'), (4, 4, 3, 'n'), (5, 5, 4, 'g')]
当没有参数时:
import numpy as np
zz=zip()
print(zz)
输出:[]
当只有一个参数时:
import numpy as np
a=[1,2,3]
zz=zip(a)
print(zz)
输出:[(1,), (2,), (3,)]
当多个参数不同长度:
import numpy as np
a=[1,2,3]
b=[1,2,3,4]
c=[1,2,3,4,5]
zz=zip(a,b,c)
print(zz)
输出:[(1, 1, 1), (2, 2, 2), (3, 3, 3)]
####
for u, i in zip(a, b):
print(u, i) ####这样时不可以的
for u, i in zip(a, b):
print(u, i)###这样就可以取两个列表的值
####
string模块
import string
string.find(字符串,pattern) ###有就返回第一个下标,没有返回-1.
string.rfind(字符串,pattern) 从字符串右边开始查询字符串匹配到的第一个索引(从0开始)
或者直接find
input = ‘zhao’
input.find('z') 返回0,没有返回-1
漂亮的输出
zhao = 'yun'
zhao.center(20,"") 输出'********yun*********'
zhao.ljust(20,"") 输出'yun*****************'
zhao.rjust(20,"*") 输出*****************yun
python的filter函数
filter(function, iterable)
eg:
name_list = ['nick', 'jason sb', 'tank sb', 'sean sb']
filter_res = filter(lambda name: name.endswith('sb'), name_list)
print(f"list(filter_res): {list(filter_res)}") ###注意这里的输出方式,必须加list
tile函数
import numpy as np
用法:np.tile(A,reps)
np.tile(1,5)
[1,1,1,1,1]
tile((1,2,3),3)
array([1, 2, 3, 1, 2, 3, 1, 2, 3])
python的isinstance函数
isinstance(object, classinfo)
object -- 实例对象。classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
eg :
isinstance(2, int) 结果为True
这个在写脚本的时候某些判断方式很有用。注意灵活运用。
python面向对象
第一个直接继承父类,可以调用name
第二个继承自父类,覆盖初始化化def init,增加属性age,不能调用name属性
第三个继承自父类,覆盖初始化化def init,并继承初始化属性name,可以调用
python的pandas模块的Series函数
x=[-5,-3,-1,0,1,3,5]
x=pd.Series(x)
结果为:
0 -5
1 -3
2 -1
3 0
4 1
5 3
6 5
dtype: int64
对一个列表进行排序(从小到大,并且包函index)。