ipython:比python更强大的解释器
list.append(i):在列表中加入元素
list.sort():重排列表元素,默认升序排列
list.sort(cmp=None, key=None, reverse=False)参数
- cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 获取列表的第二个元素
def takeSecond(elem):
return elem[1]
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
random.sort(key=takeSecond)
# 输出类别
print('排序列表:')
print(random)
变量是指针:对于指针的方法的操作会同时影响到另一个相同的指针,但是赋值不会,因为赋值会重新指定指针指向的对象
x = [1, 2, 3]
y = x
x.append(4)
print(y)
x.sort(reverse = True)
print(y)
x = 1
print(y)
输出结果:
[1, 2, 3, 4]
[4, 3, 2, 1]
[4, 3, 2, 1]
一切皆对象:
数值对象有real和img属性,还有is_integer方法
x = 6.6
print(x.real , x.imag,'i')
print(x.is_integer())
6.6 0.0 i
False
算数运算符:
位运算符:
可用bin()函数查看十进制数字的二进制表示
e.g.1 ^ 3 = 2 ~0=-1
bool运算符:
and or not
身份、成员运算符:
简单变量:
复数:
- c.conjugate() # 共轭复数
- abs(c) # 求模
字符串:
- len():求字符串长度
- str.upper():全部转化为大写
- str.title():每个单词首字母大写
- str.capitalize():首字母大写
str[::2]:按照步长为2取数据
str[::-1]:序列翻转
元组:
x.as_integer_ratio()返回一个有理数的分数的分子和分母
字典:
定义用大括号,访问键值使用中括号
集合:
使用&实现交集,使用|实现并集,使用-实现差分,使用^实现对称差分(返回只出现在其中一个集集合的元素)
for-else:
for循环中没有执行break,则会执行else中的内容
sep为print中隔开各个相的参数
print('a','b','c',sep = '---')
a---b---c
习惯使用*args,**kwargs 捕获输入的参数,*意味着将其展开为列表,**意味着将其展开为字典
一切皆对象,一个函数可以传递到另一个函数中
sorted(data, key = lambda item:item['b'])
Out[62]: [{'a': 2, 'b': 1}, {'a': 1, 'b': 2}]
raise ValueError()提出异常
try...except...else..finally:else只在成功的时候执行,finally无论如何都会执行
迭代器:
from itertools import count ,count()可以起到一个无穷range的操作
enumerate()函数返回两个值,第一个为索引,第二个为索引对应的列表的值
zip可以将两个对象连接:
map可以接受函数并应用到每一个数上:
fliter与map相似,但是只会输出真值:
专用迭代器itertools
- itertools.count:无限大的迭代器
- itertools.permutations:序列全排列的迭代器
- itertools.combatition:N组合中进行迭代
- itertools.product:两两配对的迭代器
列表推导
多重迭代:
条件控制迭代:
复杂的列表推导:
生成器
小括号,只有在生成的时候才是有意义的
爱拉托逊斯筛法:
(其实这里如果val>121就不对了)
生成器表达式是一次性的,也可以被中断
通过yield配置生成器:
The Python Standard Library — Python 3.12.0 documentation
跨行字符:
swapcase()函数可以颠倒字符串大小写
strip()函数可以删除字符串首尾的空格
- rstrip()删除末尾的空格
- lstrip()删除开头的空格
想删除别的字符可以传递参数给strip()
居中和填充:
- center()参数为int型变量,可以将字符串居中,第二个参数为str,空白处填入的字符
- ljust()左对齐
- rjust()右对齐,当第二个参数为字符0的时候等价于zfill()
find()和index()可以找到从左到右第一个找到的字符串的索引
rfind()和rindex()从右边找索引
replace()可以替换字符串子串为另一个,第一个参数为被替换的,第二个为将替换的
partition()分割参数子串与左右两个子串,返回这三个子串
split()默认按照空格进行分割
join返回一个分割位置和可迭代对象组合的字符串,和sep有点像?
保留三位浮点数:
正则化表达式:
这里用的是split,match可以匹配字符串开头是否为compile的字符,返回true或者false:
regex.search函数就非常像find和index函数
regex.sub就非常像replace函数
regex.findaall返回匹配表达式的所有字符
字符串前面加是原始字符串\n这种特殊字符不会有作用
[]可以匹配自定义的字符组组合
重复标记:
\w+则是匹配无限长的字符,只要不碰到空格什么的
小括号可以分组提取:
?P<name> 命名:
numpy.arrange()
numpy. reshape()
.T
numpy.dot
乘法,后面的乘以前面的
np.linalg.eigvals()求特征值矩阵
pandas像excel
pd.DataFrame()
matplotlib
np.linspace():
np.sin():
Sci-py