文章目录
数学计算函数
- ord
ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。
ord('A')
Out[8]: 65
- chr
用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
chr(65)
Out[9]: 'A'
排序
- sorted。python内置函数,与list.sort()方法不同之处是可对字典进行排序。
运算符
^
python中的异或运算符。
字符串
一个字符串本质是一个列表,所以可以遍历一个字符串获得每一个字符。
- str.rstrip([chars])
删除字符串末尾的字符,默认是删除空格。 - str.split(str="", num=string.count(str)).
通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串.str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等. - isspace() 方法检测字符串是否只由空格组成.
- 字符串判断是否为空串用
not s
。
列表
- 删除方法 remove,del,pop
remove是删除列表中对应的数值,pop是根据索引弹出某一元素并在列表中删除,pop()默认删除最后一个元素,pop(1)则是删除索引为1对应的元素,del是直接删除。
a=list(np.arange(1,10,2))
a.remove(3)
a.pop(0)
- 插入方法append,extend,insert
append方法是在列表末尾添加新的对象。extend是将一个列表中每个元素分别添加到另一个列表中,注意extend()传入的元素会被当做列表参数对待。insert(index,content)是将元素content插入index索引的列表中位置。
a=[]
a.extend('code')
print(a)
out:['c', 'o', 'd', 'e'] #原因是字符串被当作列表处理,每个字符表示列表中的一个元素。
a=[]
a.insert(0,'code')
a.extend(['keep','fighting'])
print(a)
out:['code', 'keep', 'fighting']
-
列表逆转reverse
reverse() 函数用于反向列表中元素。 -
列表加元素
list+=[i]的方法会把[i]加入list里现有的元素之后。[‘b’]+list则会把[‘b’]加入list现有元素之前。
list=['a']
for i in range(6):
list+=[i]
print(list)
['b']+list
输出结果:
[‘a’, 0, 1, 2, 3, 4, 5]
[‘b’, ‘a’, 0, 1, 2, 3, 4, 5]
- 列表乘元素
- 列表排序
list.sort(cmp=None, key=None, reverse=False),cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序,key是多个元素时指定排序时用于比较的元素,reverse = True是降序排序。
# 获取列表的第二个元素
def takeSecond(elem):
return elem[1]
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
random.sort(key=takeSecond)
# 输出类别
print '排序列表:', random
切片
r="adnfiff.shp"
print(r[-4:]) #从最后一个字符向前索引4个
- split分割字符串后切片
pa='D:\\sheng\\\xc8\xfd\xc3\xc5\xcf\xbf\xca\xd0\\sanmenxia.shp'
print(pa.split('\\')[-1])
split将字符串按`\``切分,-1从最后一个索引,输出结果为
sanmenxia.shp
:
索引
a[:pos] 从起始位置索引到pos
a[pos:] 从pos索引到末尾- [start: end : step]
[:]
和[::]
都代表索引全部的内容,[::-1]
表示步长为负数,从最后倒序索引全部。
遍历
字符串可以遍历输出单个字符,同理列表中的多个列表元素也可以遍历。
trust=[[1,3],[3,4],[3,7]]
for i,j in trust:
print(i,j)
有用的函数
zip
- zip(a,b)。将两个列表中元素对应压缩为一个元组,最终压缩成一个元组列表。
a=["hello","gakki"]
b=["no","a"]
pre=[]
for i in zip(a,b):
print(i)
pre.append(i[0])
输出是:
(‘hello’, ‘no’)
(‘guten’, ‘a’)
- zip(*a)。
逆压缩
方法,将一个列表中每个元素中对应位置的内容压缩成一个元组,最终返回一个元组列表。
a=["hello","gakki","flower"]
b=["no","a"]
pre=[]
for i in zip(*a):
print(i)
pre.append(i)
print(pre)
print("".join(pre))
输出是:
(‘h’, ‘g’, ‘f’)
(‘e’, ‘a’, ‘l’)
(‘l’, ‘k’, ‘o’)
(‘l’, ‘k’, ‘w’)
(‘o’, ‘i’, ‘e’)
[‘h’, ‘e’, ‘l’, ‘l’, ‘o’]
enumerate方法
enumerate方法获取数组元素对应的下标。
b=["guten","abend"]
for i,x in enumerate(b):
print(i,x)
输出结果:
0 guten
1 abend
eval
eval函数用来执行一个字符串表达式,并返回字符串的值。
x,y=2,6
eval("x+y-2")
输出结果是6
print()格式化字符串输出
sys库
sys.stdout
的形式就是print的一种默认输出格式,输出方式是行缓冲。输出的字符会先存放在缓冲区,等按下回车键时才进行实际的I/O操作。
import sys
import time
for i in range(6):
print(i)
sys.stdout.flush() #每隔一秒输出一个数字
time.sleep(2)
达到每秒实时输出数字的效果。
stderr
– 标准错误输出设备 ,无缓冲直接在屏幕输出。subprocess.call
subprocess模块call的用法,用于创建新进程。
倒序循环
for i in range(len(a)-1,-1,-1)
a=[1,2,4,5,6]
for i in range(len(a)-1,-1,-1):
print(a[i])
for i in reversed(range(len(digits)))
,此方法会增加内存存储reversed的内容。
result.reverse()
表示把列表元素倒过来排列。
for i in reversed(range(len(a))):
print(a[i])
a[~i ]
gives i-th element from the back.
字典
- dict.items()。Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。
集合类
collections
collections是python的内建集合模块,提供许多有益的集合模块。
- Counter
Counter(计数器)是继承了字典的类,是对字典的补充,用于追踪值的出现次数。Counter.elements()
方法可获取字典中所有元素的值。
import collections
o=collections.Counter("assfdveww")
a=o.elements()
for i in a:
print(i)
print(o)
out: Counter({‘s’: 2, ‘w’: 2, ‘a’: 1, ‘f’: 1, ‘d’: 1, ‘v’: 1, ‘e’: 1})
pythonic 函数
更python的函数写法。
- map。map(func,iterable)。
map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]
迭代器
- itertools。python内建模块,用于操作迭代对象的函数。https://www.liaoxuefeng.com/wiki/1016959663602400/1017783145987360
itertools.chain
将多个可迭代对象合并成一个可迭代对象,如合并几个列表为一个。
from itertools import chain
my_list = list(chain(['foo', 'bar'], cmd, numbers))
调试
+assert(断言),用于判断一个表达式,在表达式条件为 false 的时候触发异常。
assert 1==2, '1 不等于 2'#AssertionError提示的内容
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError: 1 不等于 2
方法
python中的方法分为实例方法、静态方法和类方法。
https://www.cnblogs.com/wcwnina/p/8644892.html
静态方法
静态方法是个独立的、单纯的函数,它仅仅托管于某个类的名称空间中,便于使用和维护。静态方法也可以放在某个类的名称空间外,但是这样写会导致逻辑比较混乱。
ElementTree解析xml
https://www.cnblogs.com/hupeng1234/p/7262371.html
https://docs.python.org/3/library/xml.etree.elementtree.html
https://www.cnblogs.com/panfb/p/9575414.html
scipy
- fsolve解方程
- root求根
- curve_fit指定函数求拟合曲线
- least_squares最小二乘法拟合函数