天池python訓練營D6

2021-10-12 19:39:02 字數 4003 閱讀 5410

回顧並鞏固python知識

d6 集合與序列

python 中set與dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。

建立空集合

先建立物件再加入元素。

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

直接宣告集合內元素

直接把一堆元素用花括號括起來。

重複元素在set中會被自動被過濾。

使用函式

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

可以使用len()內建函式得到集合的大小。

可以使用for把集合中的資料乙個個讀取出來。

可以通過in或not in判斷乙個元素是否在集合中已經存在

增刪查改

set.add(elmnt)用於給集合新增元素,如果新增的元素在集合中已存在,則不執行任何操作。

set.update(set)用於修改當前集合,可以新增新的元素或集合到當前集合中,如果新增的元素在集合中已存在,則該元素只會出現一次,重複的會忽略。

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

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

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

由於 set 是無序和無重複元素的集合,所以兩個或多個 set 可以做數學意義上的集合操作。

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

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

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

並集set.union(set1, set2)返回兩個集合的並集。

set1 | set2返回兩個集合的並集。

差集set.difference(set)返回集合的差集。

set1 - set2返回集合的差集。

set.difference_update(set)集合的差集,直接在原來的集合中移除元素,沒有返回值。

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

set1 ^ set2返回集合的異或。

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

包含關係

set.issubset(set)判斷集合是不是被其他集合包含,如果是則返回 true,否則返回 false。

set1 <= set2判斷集合是不是被其他集合包含,如果是則返回 true,否則返回 false。

set.issuperset(set)用於判斷集合是不是包含其他集合,如果是則返回 true,否則返回 false。

set1 >= set2判斷集合是不是包含其他集合,如果是則返回 true,否則返回 false。

set.isdisjoint(set)用於判斷兩個集合是不是不相交,如果是返回 true,否則返回 false。

集合可通過list(),tuple()函式直接轉為其他型別

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

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

在 python 中,序列型別包括字串、列表、元組、集合和字典,這些序列支援一些通用的操作,但比較特殊的是,集合和字典不支援索引、切片、相加和相乘操作。

型別轉換

list(sub)把乙個可迭代物件轉換為列表。

tuple(sub)把乙個可迭代物件轉換為元組。

str(obj)把obj物件轉換為字串

len(s)返回物件(字元、列表、元組等)長度或元素個數。

max(sub)返回序列或者引數集合中的最大值

min(sub)返回序列或引數集合中的最小值sum(iterable[,start=0])返回序列iterable與可選引數start的總和。

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

reversed(seq)函式返回乙個反轉的迭代器。

enumerate(sequence, [start=0])用於將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。

zip(iter1 [,iter2 […]])

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

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

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

1. 怎麼表示只包含⼀個數字1的元組。

(1,)

2. 建立乙個空集合,增加 三個元素。

a=set()

a.add(「x」)

a.add(「y」)

a.add(「z」)

3. 列表[『a』, 『b』, 『a』, 『b』]去重。

list(set([『a』, 『b』, 『a』, 『b』]))

4. 求兩個集合,中不重複的元素 差集指的是兩個集合交集外的部分。

a=b=

(a|b)-(a&b)

5. 求中元素在 **現的次數。

a=b=

b2=list(b)

for i in a:

print(i,b2.count(i))

6. 怎麼找出序列中的最⼤、⼩值?

max(seq)

min(seq)

7. sort() 和 sorted() 區別

1.sort()是list內建函式,而sorted()是全域性函式

2.sort()會對原列表進行修改,而sorted()不會

8. 怎麼快速求 1 到 100 所有整數相加之和?

sum(range(1,101))

9. 求列表 [2,3,4,5] 中每個元素的立方根。

a=[2,3,4,5]

b=[pow(i,1/3) for i in a]

10. 將[『x』,『y』,『z』] 和 [1,2,3] 轉成 [(『x』,1),(『y』,2),(『z』,3)] 的形式

阿里雲天池Python訓練營

字串 引號之間的字元集合 單引號或雙引號 反斜槓符號 單引號 雙引號 n換行 t橫向製表符 tab r回車 原始字串 所有的字串都是直接按照字面的意思來使用 不轉義特殊或不能列印的字元 在字串前邊加乙個英文本母 r 三引號允許字串跨多行 可包含換行符 製表符以及其他特殊字元 具有不可修改性 通過元素...

阿里雲天池python訓練營

函式是物件 可從函式中返回用於構建高階函式 def函式名 引數 函式 文件字串 function suite return 表示式 以def 形參必須放在圓括號中 形參只是形式 表示佔據的引數位置 函式的第一行語句可使用文件字串 存放函式說明 利用.doc 呼叫 執行的 需要縮排 return 表示...

阿里雲天池Python訓練營

本節主要介紹python中的類與物件,並針對相關用法進行展開說明。其中拓展了需要掌握及區別的內容,對於類的用法及物件的含義需重點掌握。類定義物件的結構 以類為模板建立物件 物件是類的例項 類不但包含方法定義 還包含所有例項共享的資料 class 類名 類的實現 類的名稱以大寫字母開頭 子類建構函式基...