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
[1234689]
 
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
[1234578]
 
二者区别:

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 < A
True         # 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)]    ###定义递增的列表
posted @ 2019-03-27 19:04  芩溪儿  阅读(282)  评论(0编辑  收藏  举报