Python&机器学习总结(二)
① Python中的Sort
Python中的内建排序函数有 sort()和sorted()两个
list.sort(func=None, key=None, reverse=False(or True))
- 对于reverse这个bool类型参数,当reverse=False时:为正向排序;当reverse=True时:为方向排序。默认为False。
- 执行完后会改变原来的list,如果你不需要原来的list,这种效率稍微高点
- 为了避免混乱,其会返回none
e.g.
>>> list = [2,8,4,6,9,1,3]
>>> list.sort()
>>> list[1, 2, 3, 4, 6, 8, 9]sorted(iterable,cmp,key=None, reverse=False(or True))
- 该函数也含有reverse这个bool类型的参数,当reverse=False时:为正向排序(从小到大);当reverse=True时:为反向排序(从大到小)。当然默认为False。
- 执行完后会有返回一个新排序好的list
- 使用cmp函数排序,cmp是带两个参数的比较函数
e.g.
>>> list = [2,8,4,1,5,7,3]
>>> other = sorted(list)
>>> other[1, 2, 3, 4, 5, 7, 8]二者区别:
sort()方法仅定义在list中,而sorted()方法对所有的可迭代序列都有效
sorted()不会改变原来的list,而是会返回一个新的已经排序好的list
②dataframe 访问元素
贴一篇写的很好的博客:https://blog.csdn.net/wr339988/article/details/65446138/
③Python中的集合
用途:
- 去重
- 求集合间的并交差补子集等
创建:
s = {1,2,3,4,5,6,7,8} (可变集合)
注意:创建空集合,必须用set(),不能仅定义s={},这样默认定义的是字典
n_set_test = frozenset(set_test) (不可变集合)
添加|删除 元素:
add 向集合中添加元素 s.add(1)
clear 清空集合 s.clear()
copy 返回集合浅拷贝 ss=s.copy()
remove 删除指定元素 s.remove(3)
pop 随机删除一个元素 s.pop()
集合间运算:
子集:issubset()
>>> C < ATrue # C 是 A 的子集>>> C.issubset(A)True 并:union()
>>> A | B
{'c', 'b', 'f', 'd', 'e', 'a'}>>> A.union(B){'c', 'b', 'f', 'd', 'e', 'a'}交:intersection()
>>> A & B
{'c', 'd'}>>> A.intersection(B){'c', 'd'}差:difference()
>>> A - B
{'b', 'a'}>>> A.difference(B){'b', 'a'}对称差:symmetric_difference()
>>> A ^ B
{'b', 'f', 'e', 'a'}>>> A.symmetric_difference(B){'b', 'f', 'e', 'a'}④list
※ list计算长度的函数是len(alist),不是alist.len()!!!!
※ 定义给定初值或长度的list(比如定义长度为10初始值为0的list)
s=[0 for i in range(10)]
ss=[i for i in range(10)] ###定义递增的列表

浙公网安备 33010602011771号