自建课程与资源
《Python程序设计与应用》课程使用说明
Python不完全入门指南
一.专题
1.绘图
2.科学计算与数据分析
图解NumPy | Numpy入门教程
你们要的Pandas教程,终于出炉啦
3.可视化
4.网络爬虫
5. 做笔记
二. 常见问题
1. 介绍
2.技术
Python 3.3.2 round函数并非"四舍五入"
Unicode 和 UTF-8 有何区别?,针对汉字到底占几个字节的问题。结论:UTF-8中英文占1个字节,常用汉字占3个字节,少数汉字占4个字节。
怎么调用另外一个.py文件中的定义的函数或者代码?
有什么好文章可在评论中补充
三.教学
PTA中提交Python3程序的一些套路
Python3中字符串格式化format
Python注释规范
Python:操作dict时避免出现KeyError的几种方法
如何排序,Sorting Mini-HOW TO
Python中的取整、求余操作,包含负数怎么处理?
取整
7 // 3 == 2
-7 // -3 == 2
-7 // 3 == -3
7 // -3 == -3
-3 // 26 == -1
26 // -3 == -9
取整规律?根据Python官方文档,a//b
取整的规则为math.floor(a/b)
。即,先用a除以b,然后向下取整。
求余
7 % 3 == 1
-7 % -3 == -1
-7 % 3 == 2
7 % -3 == -2
求余规律:余数应与除数(分母)同号。即,a%b
求余的规则为a - math.floor(a/b)*b
。
求余验证:
import math
def test(a,b):
print(a - math.floor(a/b)*b)
test(7,3) == 1
test(-7,-3) == -1
test(-7,3) == 2
test(7,-3) == -2
test(-3,7) == 4
test(3,-7) == -4
怎么在Python的列表中删除指定元素
- 从后往前扫
原地删除,最佳解决方案。 - 使用filter与map
新建了列表,空间复杂度O(n)
。In [21]: x Out[21]: [10, 10, 10, 20, 20, 20, 10, 10, 20] In [22]: y = list(filter(lambda x:x!=10,x)) In [23]: y Out[23]: [20, 20, 20, 20]
- 使用列表推导式
新建了列表,空间复杂度O(n)
。In [36]: x = [10, 10, 10, 20, 20, 20, 10, 10, 20] In [37]: z = [e for e in x if e!=10]
- 使用while删除
时间复杂度O(n^2)
。x = [10, 10, 10, 20, 20, 20, 10, 10, 20] while 10 in x: x.remove(10) print(x)
统计一段代码运行的时间
import datetime
def foo():#待测试函数
#函数代码
def calcTime(cmd):
begin = datetime.datetime.now()
eval(cmd)
end = datetime.datetime.now()
print(end-begin)
calcTime("foo()")
四. 其他
Python挑战-一系列关于编程与Python的小问题
编程原来是这样-Python教程
Win下必备神器之Cmder
Python3英文文档
Python3.75中文文档
在Windows下使用Python编程
Why is the order in dictionaries and sets arbitrary?