Python基礎入門(2)- python中的資料型別

葛老頭發表於2021-11-10

python資料型別

  • 什麼是資料型別?

    將資料分類,能有效的被電腦識別

  • 為什麼會有多種資料型別?

    為了適應更多的使用場景,將資料劃分為多種型別,每一種型別都有著各自的特點和使用場景,幫助計算機高效的處理以展示資料

  • python資料型別如圖?,其中整數和小數統稱為數字型別
  • 如何知道一個變數是什麼資料型別?可以通過python內建函式type,使用方法為 type(已經被賦值的變數名或變數) 

 

  •  同樣可以按照可變和不可變進行劃分,如圖?:

  • 按照有序,無需分類—>針對存在多個字元的資料型別進行分類

 

數字型別

Python 支援三種不同的數字型別:

  • 整型(int) - 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 型別使用,所以 Python3 沒有 Python2 的 Long 型別。布林(bool)是整型的子型別

  • 浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)

  • 複數( (complex)) - 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

宣告數字型別

#整型(int)
num1=10
num2=int(10)

#浮點型(float)
num3=3.14
num4=float(3.14)

#複數(complex)
num5=3+4j
num6=comple(3+4)

 


 數字運算

Python 直譯器可以作為一個簡單的計算器,您可以在直譯器裡輸入一個表示式,它將輸出表示式的值。

表示式的語法很直白: +, -, * 和 /, 和其它語言(如Pascal或C)裡一樣。例如:

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # 總是返回一個浮點數
1.6 

注意:在不同的機器上浮點運算的結果可能會不一樣。

在整數除法中,除法 / 總是返回一個浮點數,如果只想得到整數的結果,丟棄可能的分數部分,可以使用運算子 // :

>>> 17 / 3  # 整數除法返回浮點型
5.666666666666667
>>>
>>> 17 // 3  # 整數除法返回向下取整後的結果
5
>>> 17 % 3  # %操作符返回除法的餘數
2
>>> 5 * 3 + 2 
17

注意:// 得到的並不一定是整數型別的數,它與分母分子的資料型別有關係,有一個是浮點型,結果必是浮點型。

>>> 7//2
3
>>> 7.0//2
3.0
>>> 7//2.0
3.0
>>>

Python 可以使用 ** 操作來進行冪運算:

>>> 5 ** 2  # 5 的平方
25
>>> 2 ** 7  # 2的7次方
128

變數在使用前必須先"定義"(即賦予變數一個值),否則會出現錯誤:

>>> n   # 嘗試訪問一個未定義的變數
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined

不同型別的數混合運算時會將整數轉換為浮點數:

>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5

在互動模式中,最後被輸出的表示式結果被賦值給變數 _ 。例如:

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

此處, 變數應被使用者視為只讀變數

 


數學函式

函式返回值 ( 描述 )
abs(x) 返回數字的絕對值,如abs(-10) 返回 10
ceil(x) 返回數字的上入整數,如math.ceil(4.1) 返回 5

cmp(x, y)

如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已廢棄,使用 (x>y)-(x<y) 替換
exp(x) 返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回數字的絕對值,如math.fabs(-10) 返回10.0
floor(x) 返回數字的下舍整數,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10為基數的x的對數,如math.log10(100)返回 2.0
max(x1, x2,...) 返回給定引數的最大值,引數可以為序列。
min(x1, x2,...) 返回給定引數的最小值,引數可以為序列。
modf(x) 返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。
pow(x, y) x**y 運算後的值。
round(x [,n])

返回浮點數 x 的四捨五入值,如給出 n 值,則代表舍入到小數點後的位數。

其實準確的說是保留值將保留到離上一位更近的一端。

sqrt(x) 返回數字x的平方根。

 


隨機數函式

隨機數可以用於數學,遊戲,安全等領域中,還經常被嵌入到演算法中,用以提高演算法效率,並提高程式的安全性。

Python包含以下常用隨機數函式:

函式描述
choice(seq) 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
randrange ([start,] stop [,step]) 從指定範圍內,按指定基數遞增的集合中獲取一個隨機數,基數預設值為 1
random() 隨機生成下一個實數,它在[0,1)範圍內。
seed([x]) 改變隨機數生成器的種子seed。如果你不瞭解其原理,你不必特別去設定seed,Python會幫你選擇seed。
shuffle(lst) 將序列的所有元素隨機排序
uniform(x, y) 隨機生成下一個實數,它在[x,y]範圍內。

 


三角函式

Python包括以下三角函式:

函式描述
acos(x) 返回x的反餘弦弧度值。
asin(x) 返回x的反正弦弧度值。
atan(x) 返回x的反正切弧度值。
atan2(y, x) 返回給定的 X 及 Y 座標值的反正切值。
cos(x) 返回x的弧度的餘弦值。
hypot(x, y) 返回歐幾里德範數 sqrt(x*x + y*y)。
sin(x) 返回的x弧度的正弦值。
tan(x) 返回x弧度的正切值。
degrees(x) 將弧度轉換為角度,如degrees(math.pi/2) , 返回90.0
radians(x) 將角度轉換為弧度

 


數學常量

常量描述
pi 數學常量 pi(圓周率,一般以π來表示)
e 數學常量 e,e即自然常數(自然常數)。

 

字串型別

  • 用 ‘’或 ""包裹的資訊 就是字串
  • 字串中可以包含任意字元:如字母,數字,符號,且沒有先後順序
  • 在python中,使用str 來代表字串型別,並且通過該函式可以定義字串
  • 字串不可改變!通過內建函式id,我們會發現,給變數重新換一個值後,變數名是沒有變,但是在這個變數在記憶體中的地址已經變了 id(重新賦值後的變數) 
  • 通過內建函式len可以返回字串的長度 len(字串/變數名) 

宣告字串

#宣告字串
name1=str('Hello')
name2='world'
name3="你好"
name4='''中國''' #支援回車換行輸入(顯示)文字
name5="""臺灣是中國的""" #支援回車換行輸入(顯示)文字

 


 

訪問(擷取)字串中的值

#!/usr/bin/python
 
var1 = 'Hello World!'
var2 = "Python Gelaotou"
 
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

以上例項執行結果:

var1[0]:  H
var2[1:5]:  ytho

 


 字串連線

多個字串或者字串型別的變數可以通過+號進行拼接

# coding:utf-8

name='張三'
local='中國'

man=name+local
print(man)
print('李四'+'北京')
print(name,local)

以上例項執行結果:

張三中國
李四北京

 


 轉義字元

在需要在字元中使用特殊字元時,python 用反斜槓 \ 轉義字元。如下表:

轉義字元描述
\(在行尾時) 續行符
\\ 反斜槓符號
\' 單引號
\" 雙引號
\a 響鈴
\b 退格(Backspace)
\e 轉義
\000
\n 換行
\v 縱向製表符
\t 橫向製表符
\r 回車
\f 換頁
\oyy 八進位制數,y 代表 0~7 的字元,例如:\012 代表換行。
\xyy 十六進位制數,以 \x 開頭,yy代表的字元,例如:\x0a代表換行
\other 其它的字元以普通格式輸出

 


字串運算子

下表例項變數 a 值為字串 "Hello",b 變數值為 "Python":

操作符描述例項
+ 字串連線
>>>a + b 'HelloPython'
* 重複輸出字串
>>>a * 2 'HelloHello'
[] 通過索引獲取字串中字元
>>>a[1] 'e'
[ : ] 擷取字串中的一部分
>>>a[1:4] 'ell'
in 成員運算子 - 如果字串中包含給定的字元返回 True
>>>"H" in a True
not in 成員運算子 - 如果字串中不包含給定的字元返回 True
>>>"M" not in a True
r/R 原始字串 - 原始字串:所有的字串都是直接按照字面的意思來使用,沒有轉義特殊或不能列印的字元。 原始字串除在字串的第一個引號前加上字母"r"(可以大小寫)以外,與普通字串有著幾乎完全相同的語法。
>>>print r'\n' \n >>> print R'\n' \n

 

布林型別與空型別

布林型別

  • 定義:真假的判斷
#布林型別定義
name_true=bool(True)
name_false=bool(False)
#或者
name_true=True
name_false=False
  • 固定值:True—>真;False—>假
  • 布林型別和數字、字串的關係:
    • int 0 —>False;非0 —>True
    • float 0.0 —>False;非0.0 —>True
    • str ""(空字串) —>False;非空字串—>True

空型別

  • 定義:不屬於任何資料型別

#空型別定義
name_false=bool(False)
  • 固定值:None
  • 空型別屬於False的範疇
  • 如果不確定型別的時候,可以用空型別

 

列表型別

  •  列表就是佇列
  • 它是各種資料型別的集合,也是一種資料結構
  • 列表是一種有序,且內容可重複的集合型別
  • 列表中的每個值都有對應的位置值,稱之為索引,第一個索引是 0,第二個索引是 1,依此類推
  • 內建函式max(取最大值)和min(取最小值),在列表中使用的時候,列表中的元素不能是多種型別,如果型別不統一,則會報錯
  • 空型別的列表雖然都是None,但是列表是有長度的,非空,所以空型別列表的布林值為True

宣告列表

#宣告列表
names = list(['name1', 'name2'])
names = ['name1', 'name2']

#常見列表型別
str_array = ['dewei', 'xiaomi', ' ']  #字串型別的列表,空格的字串不是空字串。

int_array = [1, 2, 3, 212]  #整型列表

float_array = [1.2, 2.3, 2.25, 0.0, 0.2220]  #浮點型別的列表

bool_array = [True, False, False, True]  #布林型別的列表

none_array = [None, None, None]   #空型別的列表

list_array = [[1, 2, 3], [1.2, 3.1]] #列表中巢狀列表

mix_array = ['dewei', 1, 3.21, None, True] #混合列表

 


訪問列表中的值

與字串的索引一樣,列表索引從 0 開始,第二個索引是 1,依此類推。

通過索引列表可以進行擷取、組合等操作。

# coding:utf-8

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

以上例項輸出結果:

red
green
blue

索引也可以從尾部開始,最後一個元素的索引為 -1,往前一位為 -2,以此類推。

# coding:utf-8

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )

以上例項輸出結果:

black
white
yellow

使用下標索引來訪問列表中的值,同樣你也可以使用方括號 [] 的形式擷取字元,如下所示:

# coding:utf-8

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])

以上例項輸出結果:

[10, 20, 30, 40]

使用負數索引值擷取:

# coding:utf-8
 
list = ['Google', 'Gelaotou', "Zhihu", "Taobao", "Wiki"]
 
# 讀取第二位
print ("list[1]: ", list[1])
# 從第二位開始(包含)擷取到倒數第二位(不包含)
print ("list[1:-2]: ", list[1:-2])

以上例項輸出結果:

list[1]:  Gelaotou
list[1:-2]:  ['Gelaotou', 'Zhihu']

 


更新列表

可以對列表的資料項進行修改或更新,也可以使用 append() 方法來新增列表項,如下所示:

# coding:utf-8
 
list = ['Google', 'Gelaotou', 1997, 2000]
 
print ("第三個元素為 : ", list[2])
list[2] = 2001
print ("更新後的第三個元素為 : ", list[2])
 
list1 = ['Google', 'Gelaotou', 'Taobao']
list1.append('Baidu')
print ("更新後的列表 : ", list1)

以上例項輸出結果:

第三個元素為 :  1997
更新後的第三個元素為 :  2001
更新後的列表 :  ['Google', 'Gelaotou', 'Taobao', 'Baidu']

 


刪除列表元素

可以使用 del 語句來刪除列表的的元素,如下例項:

# coding:utf-8
 
list = ['Google', 'Gelaotou', 1997, 2000]
 
print ("原始列表 : ", list)
del list[2]
print ("刪除第三個元素 : ", list)

以上例項輸出結果:

原始列表 :  ['Google', 'Gelaotou', 1997, 2000]
刪除第三個元素 :  ['Google', 'Gelaotou', 2000]

 


列表指令碼操作符

列表對 + 和 * 的操作符與字串相似。+ 號用於組合列表,* 號用於重複列表。

如下所示:

Python 表示式結果描述
len([1, 2, 3]) 3 長度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 組合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重複
3 in [1, 2, 3] True 元素是否存在於列表中
for x in [1, 2, 3]: print(x, end=" ") 1 2 3 迭代

 


列表擷取與拼接

Python的列表擷取與字串操作型別,如下所示:

L=['Google', 'Gelaotou', 'Taobao']

操作:

Python 表示式結果描述
L[2] 'Taobao' 讀取第三個元素
L[-2] 'Gelaotou' 從右側開始讀取倒數第二個元素: count from the right
L[1:] ['Gelaotou', 'Taobao'] 輸出從第二個元素開始後的所有元素
>>>L=['Google', 'Gelaotou', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Gelaotou'
>>> L[1:]
['Gelaotou', 'Taobao']
>>>

列表還支援拼接操作:

>>>squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>

巢狀列表

使用巢狀列表即在列表裡建立其它列表,例如:

>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

 

元組型別

初識元組

  • 什麼是元組:元組與列表一樣,都是一種可以儲存多種資料型別的佇列;並且元組與列表一樣是一個無限制長度的資料結構
  • 元組也是一個有序的,且元素可以重複的集合
  • 在Python中,tuple代表著元組這種型別,也可以定義一個元組
  • 元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可
  • 內建函式max(取最大值)和min(取最小值),在元組中使用的時候,元組中的元素不能是多種型別,如果型別不統一,則會報錯

元組和列表的區別

  • Python的元組與列表類似,不同之處在於元組的元素不能修改,列表元素可以修改
  • 元組使用小括號 ( ),列表使用方括號 [ ]
  • 元組比列表佔用資源更小

 宣告元組

#宣告元組
tup0= tuple('xiaomi', 'sky') tup1 = ('Google', 'Gelaotou', 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", "b", "c", "d" # 不需要括號也可以 type(tup3) #<class 'tuple'>

建立空元組

tup1 = ()

元組中只包含一個元素時,需要在元素後面新增逗號 , ,否則括號會被當作運算子使用:

>>> tup1 = (50)
>>> type(tup1)     # 不加逗號,型別為整型
<class 'int'>

>>> tup1 = (50,)
>>> type(tup1)     # 加上逗號,型別為元組
<class 'tuple'>

 


訪問元組

元組中的元素值是不允許修改的,但我們可以對元組進行連線組合,如下例項:

# coding:utf-8
 
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元組元素操作是非法的。
# tup1[0] = 100
 
# 建立一個新的元組
tup3 = tup1 + tup2
print (tup3)

以上例項輸出結果:

(12, 34.56, 'abc', 'xyz')

 


刪除元組

元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個元組,如下例項:

# coding:utf-8
 
tup = ('Google', 'Gelaotou', 1997, 2000)
 
print (tup)
del tup
print ("刪除後的元組 tup : ")
print (tup)

以上例項元組被刪除後,輸出變數會有異常資訊,輸出如下所示:

刪除後的元組 tup : 
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print (tup)
NameError: name 'tup' is not defined

 


元組運算子

與字串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味著他們可以組合和複製,運算後會生成一個新的元組。

Python 表示式結果描述
len((1, 2, 3)) 3 計算元素個數
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 連線
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 複製
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print (x,) 1 2 3 迭代

 


元組索引,擷取

因為元組也是一個序列,所以我們可以訪問元組中的指定位置的元素,也可以擷取索引中的一段元素,如下所示:

元組:

tup = ('Google', 'Gelaotou', 'Taobao', 'Wiki', 'Weibo','Weixin')
Python 表示式結果描述
tup[1] 'Gelaotou' 讀取第二個元素
tup[-2] 'Weibo' 反向讀取,讀取倒數第二個元素
tup[1:] ('Gelaotou', 'Taobao', 'Wiki', 'Weibo', 'Weixin') 擷取元素,從第二個開始後的所有元素。
tup[1:4] ('Gelaotou', 'Taobao', 'Wiki') 擷取元素,從第二個開始到第四個元素(索引為 3)。

 


元組內建函式

Python元組包含了以下內建函式

序號方法及描述例項
1 len(tuple)
計算元組元素個數。
>>> tuple1 = ('Google', 'Gelaotou', 'Taobao')
>>> len(tuple1)
3
>>>
2 max(tuple)
返回元組中元素最大值。
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>>
3 min(tuple)
返回元組中元素最小值。
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>>
4 tuple(iterable)
將可迭代系列轉換為元組。
>>> list1= ['Google', 'Taobao', 'Gelaotou', 'Baidu'] 
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Gelaotou', 'Baidu')

 


關於元組是不可變的

所謂元組的不可變指的是元組所指向的記憶體中的內容不可變。

>>> tup = ('a', 'b', 'c', 'd', 'e', 'f')
>>> tup[0] = 'g'     # 不支援修改元素
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> id(tup)     # 檢視記憶體地址
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800    # 記憶體地址不一樣了

從以上例項可以看出,重新賦值的元組 tup,繫結到新的物件了,不是修改了原來的物件。

 

字典型別

字典

  • 字典是由多個鍵key及其對應的值value所組成的一種資料型別

  • 在Python中,dict用來代表字典,並且可以建立一個字典

  • 在Python中,通過{}將一個個key與value存入字典中

  • 字典中每一個key一定是唯一的

  • 內建函式
    • in可以判斷key是否存在

    • max/min可以判斷key的最大/小值

    • len()可以使用

    • 空字典的bool為False

字典支援的資料型別

  • key支援字串、數字和元祖,但是不支援列表

  • value支援python所有的資料型別

宣告字典

emptyDict = {}
#或者
emptyDict=dict()

print("Length:", len(emptyDict))
print(type(emptyDict))
print(bool(emptyDict))

以上例項輸出結果:

Length: 0
<class 'dict'>
False

 


訪問字典裡的值

# coding:utf-8
 
dict = {'Name': 'Student', 'Age': 7, 'Class': 'First'}
 
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

 


修改字典

向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下例項:

# coding:utf-8
 
dict = {'Name': 'Student', 'Age': 7, 'Class': 'First'}
 
dict['Age'] = 8               # 更新 Age
dict['School'] = "家裡蹲"      # 新增資訊
 
 
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

 


刪除字典元素

能刪單一的元素也能清空字典,清空只需一項操作。

顯示刪除一個字典用del命令,如下例項:

# coding:utf-8
 
dict = {'Name': 'Student', 'Age': 7, 'Class': 'First'}
 
del dict['Name']     # 刪除鍵 'Name',相當於刪除了Name和Student這個鍵值對
dict.clear()         # 清空字典
del dict             # 刪除字典
 
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])  

 


字典鍵的特性

  • 不允許同一個鍵出現兩次。建立時如果同一個鍵被賦值兩次,後一個值會被記住。相當於跟新了鍵的value值
  • 鍵的資料型別不能使用列表;數字,字串或元組都可以
  • 值的型別支援python所有的資料型別

 

集合型別

  • 集合(set)是一個無序的不重複元素序列。
  • 可以使用大括號 { } 或者 set() 函式建立集合,注意:建立一個空集合必須用 set() 而不是 { },因為 { } 是用來建立一個空字典。

集合宣告

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # 這裡演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # 快速判斷元素是否在集合內 True >>> 'crabgrass' in basket False >>> # 下面展示兩個集合間的運算. ... >>> a = set('abracadabra') >>> b = set('alacazam') >>> a {'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素 {'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素 {'a', 'c'}
>>> a ^ b # 不同時包含於a和b的元素 {'r', 'd', 'b', 'm', 'z', 'l'}

 


集合新增元素

將元素 x 新增到集合 s 中,如果元素已存在,則不進行任何操作 s.add( x )

thisset = set(("a", "b", "c"))
thisset.add("d")
print(thisset)  #{'a', 'b', 'c', 'd'}

還有一個方法,也可以新增元素,且引數可以是列表,元組,字典等,語法格式 s.update( x )

thisset = set(("a", "c", "c"))
thisset.update({1,3})
print(thisset)    #{1, 3, 'a', 'c'}

thisset.update([1,4],[5,6])  
print(thisset)    #{1, 3, 4, 5, 6, 'a', 'c'}

 


集合移除元素

將元素 x 從集合 s 中移除,如果元素不存在,則會發生錯誤;語法格式 s.remove( x )

thisset = set(("a", "b", "c"))
thisset.remove("c")
print(thisset)    #{'a', 'b'}

thisset.remove("d")   # 不存在會發生錯誤

"""
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Facebook'
"""

此外還有一個方法也是移除集合中的元素,且如果元素不存在,不會發生錯誤;語法格式 s.discard( x )

thisset = set(("a", "b", "c"))
thisset.discard("d")  # 不存在不會發生錯誤
print(thisset)       #{'a', 'b', 'c'}

我們也可以設定隨機刪除集合中的一個元素,語法格式 s.pop()

thisset = set(("b", "a", "c", "d"))
x = thisset.pop()

print(x)  #a

多次執行測試結果都不一樣。set 集合的 pop 方法會對集合進行無序的排列,然後將這個無序排列集合的左面第一個元素進行刪除。

 


計算集合元素個數

語法格式 len(s)

thisset = set(("a", "b", "c"))
len(thisset)    #3

 


清空集合

語法格式 s.clear()

thisset = set(("a", "b", "c"))
thisset.clear()
print(thisset) #結果為set()

如果我想要把這個集合刪掉,只需要刪除集合變數即可 del 集合變數

a = set(("a", "b", "c"))
del a
print(a)

"""
Traceback (most recent call last):
  File 
    print(a)
NameError: name 'a' is not defined

"""

 


判斷元素是否在集合中存在

判斷元素 x 是否在集合 s 中,存在返回 True,不存在返回 False;語法格式 x in s

thisset = set(("a", "b", "c"))
"a" in thisset       #True
"d" in thisset    #False

 

資料型別常用內建函式

具體詳細見:https://www.runoob.com/python3/python3-built-in-functions.html

  • type:返回變數/物件型別
  • id:返回變數/物件記憶體地址
  • max:返回資料中最大的成員;(中文符號 > 字母 > 數字 > 英文符號)
  • min:返回資料中最小的成員;(中文符號 > 字母 > 數字 > 英文符號)

 

 

相關文章