初学python,写些随笔方便记忆,写的比较乱。
(’‘’ ‘’‘) #可以换行 也可以使用\ 如下
s = "abcd\
efg"
A='hello world' #将字符串当成数组 A[0]:正以0开头 A[-1]:负以-1结尾
type(A) #type方法用法
A[1:4] #ell
A[::2] #hlowrd 取2步长 A[0:5:2] #hlo A[0:5]内取步长2
type(bool(1)) #bool() len(A) find(w) A.upper()方法
B=A.replace('world','pzb') #hello pzb
3*A #3个hello world
print(r"Jackson \ is the best" ) #r可以不用转义字符
--tuple:元组 不可变
t=(1,2,(4,3),'str') #t[2][1]=3 t[3][0]='s'
b=sorted(t[2]) #b=(3,4)
--List:可变
set([2, 12]) <= set([2,12,122])#判断一个list包含另外一个list,可以用set
l=['str1',2.24,12,[1,2],('str',1)]
l[0]='change' #l=['change',2.24,12,[1,2],('str',1)]
del(l[0]) #l=[2.24,12,[1,2],('str',1)]
l[2:4] = [] # 删除
d=l[:] #克隆d指向的是新的list,分析d=l(指向同一个list)的区别 改变list d和l都改变
l.extend(['str2',1]) #扩展l=['str1',2.24,12,[1,2],('str',1),'str2',1]
l.apend(['str2',1]) #l=['str1',2.24,12,[1,2],('str',1),['str2',1]]
--set 无序(不能用下标定位元素)、无重复
student = {'Tom', 'Jim', 'Mary', 'Tom', 100,20}
'Tom' in student
set(a) #转化成set,a可以为'abbccdd'、()、[]
a - b #set之间可以操作:a和b的差集 a | b 并集 a & b交集 a ^ b a和b中不同时存在的元素
a >= b #a是否包含b
--dic 字典:键值对
dic={} #创建空字典 注意set创建空必须用set()创建
在程序世界中,浮点数计算会存在一些误差,在python中也存在.例如:a=4.2 b=2.1, a+b=6.3000000001!=6.3
解决这个问题需要用到Deimal:Decimal('4.2')+Decimal('2.1')=6.3
pandas包:
from pandas import Series #Series属于pandas包需要先导入,与list的区别 其带了索引
x = Series(['a', True, 1], index=['first', 'second', 'third']);#混和索引x[1]、x['second']都可以访问
x = Series(['a', True, 1]); #默认0开始
x.append(Series(['2'])) #追加一个 实际上x并没有追加成功,'2' in x.values为false 但list可以追加成功
x=x.append(Series(['2'])) #重新复制才算成功,追加的index都是0
'2' in x.values #判断值是否存在 true
x.drop(x.index[3]) #根据位置删除 并没有删除成功 重新赋值后才删除成功x=x.drop(x.index[3])
x['2'!=x.values] #根据值删除
数据框
from pandas import DataFrame;
df = DataFrame(data={
'age': [21, 22, 23],
'name': ['KEN', 'John', 'JIMI']
}, index=['first', 'second', 'third']);
df['age'] #按列访问
df[1:2] #按行访问
df.iloc[0:1, 0:1] #按行列号访问
df.at['first', 'name'] #按行索引,列名访问