python 中set與dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。
注意,key為不可變型別,即可雜湊的值。
num =
print
(type
(num))#
num =
print
(type
(num)
)#
從結果發現集合的兩個特點:無序 (unordered) 和唯一 (unique)。
由於 set 儲存的是無序集合,所以我們不可以為集合建立索引或執行切片(slice)操作,也沒有鍵(keys)可用來獲取集合中元素的值,但是可以判斷乙個元素是否在集合中。
內建函式:
由於 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
.isdisjoint(
set) 用於判斷兩個集合是不是不相交,如果是返回 true,否則返回 false。
5
. 不可變集合
python 提供了不能改變元素的集合的實現版本,即不能增加或刪除元素,型別名叫frozenset。需要注意的是frozenset仍然可以進行集合操作,只是不能用帶有update的方法。
frozenset
([iterable]
) 返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素。
max(sub)返回序列或者引數集合中的最大值
min(sub)返回序列或引數集合中的最小值
print
(max(1
,2,3
,4,5
))# 5print
(max([
-8,99
,3,7
,83])
)# 99
print
(max
('ilovelsgogroup'))
# v
sum(iterable[, start=0]) 返回序列iterable與可選引數start的總和
sorted
(iterable, key=
none
, reverse=
false
) 對所有可迭代的物件進行排序操作。
iterable -
- 可迭代物件。
key -
- 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。
reverse -
- 排序規則,reverse =
true 降序 , reverse =
false 公升序(預設)。
返回重新排序的列表。
reversed
(seq) 函式返回乙個反轉的迭代器。
seq -
- 要轉換的序列,可以是 tuple
, string,
list 或 range。
enumerate
(sequence,
[start=0]
)
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訓練營
字串 引號之間的字元集合 單引號或雙引號 反斜槓符號 單引號 雙引號 n換行 t橫向製表符 tab r回車 原始字串 所有的字串都是直接按照字面的意思來使用 不轉義特殊或不能列印的字元 在字串前邊加乙個英文本母 r 三引號允許字串跨多行 可包含換行符 製表符以及其他特殊字元 具有不可修改性 通過元素...
阿里雲天池python訓練營
函式是物件 可從函式中返回用於構建高階函式 def函式名 引數 函式 文件字串 function suite return 表示式 以def 形參必須放在圓括號中 形參只是形式 表示佔據的引數位置 函式的第一行語句可使用文件字串 存放函式說明 利用.doc 呼叫 執行的 需要縮排 return 表示...
阿里雲天池Python訓練營
本節主要介紹python中的類與物件,並針對相關用法進行展開說明。其中拓展了需要掌握及區別的內容,對於類的用法及物件的含義需重點掌握。類定義物件的結構 以類為模板建立物件 物件是類的例項 類不但包含方法定義 還包含所有例項共享的資料 class 類名 類的實現 類的名稱以大寫字母開頭 子類建構函式基...