Python&機(jī)器學(xué)習(xí)總結(jié)(二)
① Python中的Sort
Python中的內(nèi)建排序函數(shù)有 sort()和sorted()兩個(gè)
list.sort(func=None, key=None, reverse=False(or True))
- 對(duì)于reverse這個(gè)bool類(lèi)型參數(shù),當(dāng)reverse=False時(shí):為正向排序;當(dāng)reverse=True時(shí):為方向排序。默認(rèn)為False。
- 執(zhí)行完后會(huì)改變?cè)瓉?lái)的list,如果你不需要原來(lái)的list,這種效率稍微高點(diǎn)
- 為了避免混亂,其會(huì)返回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))
- 該函數(shù)也含有reverse這個(gè)bool類(lèi)型的參數(shù),當(dāng)reverse=False時(shí):為正向排序(從小到大);當(dāng)reverse=True時(shí):為反向排序(從大到小)。當(dāng)然默認(rèn)為False。
- 執(zhí)行完后會(huì)有返回一個(gè)新排序好的list
- 使用cmp函數(shù)排序,cmp是帶兩個(gè)參數(shù)的比較函數(shù)
e.g.
>>> list = [2,8,4,1,5,7,3]
>>> other = sorted(list)
>>> other[1, 2, 3, 4, 5, 7, 8]二者區(qū)別:
sort()方法僅定義在list中,而sorted()方法對(duì)所有的可迭代序列都有效
sorted()不會(huì)改變?cè)瓉?lái)的list,而是會(huì)返回一個(gè)新的已經(jīng)排序好的list
②dataframe 訪問(wèn)元素
貼一篇寫(xiě)的很好的博客:https://blog.csdn.net/wr339988/article/details/65446138/
③Python中的集合
用途:
- 去重
- 求集合間的并交差補(bǔ)子集等
創(chuàng)建:
s = {1,2,3,4,5,6,7,8} (可變集合)
注意:創(chuàng)建空集合,必須用set(),不能僅定義s={},這樣默認(rèn)定義的是字典
n_set_test = frozenset(set_test) (不可變集合)
添加|刪除 元素:
add 向集合中添加元素 s.add(1)
clear 清空集合 s.clear()
copy 返回集合淺拷貝 ss=s.copy()
remove 刪除指定元素 s.remove(3)
pop 隨機(jī)刪除一個(gè)元素 s.pop()
集合間運(yùn)算:
子集: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'}對(duì)稱(chēng)差:symmetric_difference()
>>> A ^ B
{'b', 'f', 'e', 'a'}>>> A.symmetric_difference(B){'b', 'f', 'e', 'a'}④list
※ list計(jì)算長(zhǎng)度的函數(shù)是len(alist),不是alist.len()!!!!
※ 定義給定初值或長(zhǎng)度的list(比如定義長(zhǎng)度為10初始值為0的list)
s=[0 for i in range(10)]
ss=[i for i in range(10)] ###定義遞增的列表

浙公網(wǎng)安備 33010602011771號(hào)