回顧並鞏固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 類名 類的實現 類的名稱以大寫字母開頭 子類建構函式基...