天池龍珠計畫Python訓練營 第六天

2021-10-09 08:37:18 字數 3270 閱讀 2312

有幸參加了阿里雲舉辦的天池龍珠計畫python訓練營。收穫頗多。

每天記錄一些自己之前的知識盲點,需經常溫習。

一、集合

1、集合的建立:

#在建立空集合的時候只能使用s = set(),因為s = {}建立的是空字典。

【例子】

basket = set()

basket.add('banana')

num = {}

print(type(num)) # num =

print(type(num)) # #使用set(value)工廠函式,把列表或元組轉換成集合。

【例子】

a = set('abracadabra')

print(a) # ​

b = set(("google", "lsgogroup", "taobao", "taobao"))

print(b) # ​

c = set(["google", "lsgogroup", "taobao", "google"])

print(c)

#

2、集合的內建方法:

1、刪除集合中元素的三種方法:

set.remove(item) 用於移除集合中的指定元素。如果元素不存在,則會發生錯誤。

【例子】

fruits.remove("banana")

set.discard(value) 用於移除指定的集合元素。remove() 方法在移除乙個不存在的元素時會發生錯誤,而 discard() 方法不會。

【例子】

fruits.discard("banana")

set.pop() 用於隨機移除乙個元素。

【例子】

x = fruits.pop()

print(x) # banana

2、取交集:

set.intersection(set1, set2) 返回兩個集合的交集。

set1 & set2 返回兩個集合的交集。

set.intersection_update(set1, set2) 交集,在原始的集合上移除不重疊的元素。

【例子】

a = set('abracadabra')

b = set('alacazam')

print(a) #

print(b) #

​c = a.intersection(b)

print(c) #

print(a & b) #

print(a) #

​a.intersection_update(b)

print(a) #

3、異或運算:

set.symmetric_difference(set)返回集合的異或。

set1 ^ set2 返回集合的異或。

set.symmetric_difference_update(set)移除當前集合中在另外乙個指定集合相同的元素,並將另外乙個指定集合中不同的元素插入到當前集合中。

【例子】

a = set('abracadabra')

b = set('alacazam')

print(a) #

print(b) #

​c = a.symmetric_difference(b)

print(c) #

print(a ^ b) #

​print(a) #

a.symmetric_difference_update(b)

print(a) #

3、不可變集合:

python 提供了不能改變元素的集合的實現版本,即不能增加或刪除元素,型別名叫frozenset。需要注意的是frozenset仍然可以進行集合操作,只是不能用帶有update的方法。

frozenset([iterable]) 返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素。

【例子】

a = frozenset(range(10)) # 生成乙個新的不可變集合

print(a)

# frozenset()

​b = frozenset('lsgogroup')

print(b)

# frozenset()

二、序列

1、針對序列的內建函式:

sorted(iterable, key=none, reverse=false) 對所有可迭代的物件進行排序操作。

iterable -- 可迭代物件。

key -- 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。

reverse -- 排序規則,reverse = true 降序 , reverse = false 公升序(預設)。

返回重新排序的列表。

【例子】

x = [-8, 99, 3, 7, 83]

print(sorted(x)) # [-8, 3, 7, 83, 99]

print(sorted(x, reverse=true)) # [99, 83, 7, 3, -8]

​t = (, , )

x = sorted(t, key=lambda a: a["age"])

print(x)

# [, , ]

zip(iter1 [,iter2 [...]])

用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件,這樣做的好處是節約了不少的記憶體。

我們可以使用 list() 轉換來輸出列表。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。

【例子】

a = [1, 2, 3]

b = [4, 5, 6]

c = [4, 5, 6, 7, 8]

​zipped = zip(a, b)

print(zipped) # print(list(zipped)) # [(1, 4), (2, 5), (3, 6)]

zipped = zip(a, c)

print(list(zipped)) # [(1, 4), (2, 5), (3, 6)]

​a1, a2 = zip(*zip(a, b))

print(list(a1)) # [1, 2, 3]

print(list(a2)) # [4, 5, 6]

天池龍珠計畫Python訓練營 第五天

有幸參加了阿里雲舉辦的天池龍珠計畫python訓練營。收穫頗多。每天記錄一些自己之前的知識盲點,需經常溫習。一 字串 1 字串轉換 maketrans intab,outtab 建立字元對映的轉換表,第乙個引數是字串,表示需要轉換的字元,第二個引數也是字串表示轉換的目標。translate tabl...

天池龍珠計畫Python訓練營 第一天

有幸參加了阿里雲舉辦的天池龍珠計畫python訓練營。收穫頗多。每天記錄一些自己之前的知識盲點,需經常溫習。一 運算子 例子 比較的兩個變數均指向不可變型別。對於字串來說 a hello b hello print a is b,a b true true print a is not b,a b ...

龍珠計畫Python訓練營筆記 day10

美國 練習 按州總捐款熱力地圖 參賽選手自由發揮 補充 第乙個補充熱力地圖的參賽選手可以獲得天池杯子乙個 呼叫相關包 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns 設定畫布大小 f,ax plt.s...