Python notes

时间:2023-03-09 21:22:30
Python notes

1. range()函数的使用:

a = range(n)   # a = range(0,n)
b = range(m,n) # b = range(m,n)

alist = list(a) # alist = [0, 1, ... , n-1]
blist = list(b) # blist = [m, m+1, ... , n-1]
#notice: 均不包含n,即类似左闭右开的区间形式 [... ...)

2. import ... 与  from ... import * 的区别:

#使用numpy包含的模块时需要在前面加np
import numpy as np
a = np.array([1, 2, 3, 4])
#直接调用numpy包含的模块
from numpy import *
a = array([1, 2, 3, 4])

3. list列表操作

#获取长度
listLen = len(sampleList)
#遍历list中元素
for element in list:
print(element)
#删除元素
del sampleList[2:4]
#浅拷贝与深拷贝
lista = [1, 4, 2, 5, 3]
listb = lista
listc = lista[:] lista.sort() # lsita = [1, 2, 3, 4, 5]
print(listb) # listb = [1, 2, 3, 4, 5]
print(listc) # listc = [1, 4, 2, 5, 3]
sample_list.append(var)   #追加元素
sample_list.insert(index,var)
sample_list.pop(var) #返回最后一个元素,并从list中删除之
sample_list.remove(var) #删除第一次出现的该元素
sample_list.count(var) #该元素在列表中出现的个数
sample_list.index(var) #该元素的位置,无则抛异常
sample_list.extend(list) #追加list,即合并list到L上
sample_list.sort() #排序
sample_list.reverse() #倒序

4. 判断数据类型 if type(sample)==type(1):         #判断sample是否为int

5. 格式化输出 print("The sample number is %d and %f" %(4,2))  #The sample number is 4 and 2.000000

6. 条件选择  if: ... elif: ...

7. 绘制散点图 (matplotlib官网给出了大量绘图样例,非常棒,想要绘制图形可以参考)

matlbplot的plot函数,很好用,与matlab中的plot类似

8. python的在传递list时使用的是引用(reference),因此如果list的值在一个函数中被改变,则它在所有地方都会是改变后的值。

9. 集合类型(set):一无序不重复元素集。基本功能包括关系测试和消除重复元素

a = [1, 2, 3, 3, 4, 5, 5]
b = set(a) #b = set([1, 2, 3, 4, 5])
setA = set([1 ,2 , 3, 4])
setB = set([3 ,4 , 5, 6])
setC = setA | setB # 并集 setC = set([1, 2, 3, 4, 5, 6])
setC = setA & setB # 交集 setC = set([3, 4])
setC = setA - setB # 差集 setC = set([1, 2])
setC = setA ^ setB # 对称差集 setC = set(1, 2, 5, 6)

10. 排序函数sorted与sort

from operator import itemgetter, attrgetter  

list_a = [1, 5, 4, 2, 3]
list_a.sort() # list_a = [1, 2, 3, 4, 5]
list_b = sorted(list_a, reverse = True) # list_b = [5, 4, 3, 2, 1] list_a = [("li si", "D", 12), ("xiao ming", "A", 15), ("ma zi", "A", 14), ("wang er", "B", 10)]
list_b = sorted(dic_a, key = itemgetter(1, 2), reverse = True)
# sort by grade then by age 
# list_b = [("li si", "D", 12), ("wang er", "B", 10), ("xiao ming", "A", 15), ("ma zi", "A", 14)]