Python3入門(三)基本數(shù)據(jù)類型

Python 中的變量不需要聲明阳柔。每個變量在使用前都必須賦值轻专,變量賦值以后該變量才會被創(chuàng)建。在 Python 中卵迂,變量就是變量裕便,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對象的類型狭握。等號(=)用來給變量賦值闪金。等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值。例如:

count = 10
name = "python"
price = 12.5

也支持同時為多個變量賦值论颅。例如

a = b = c = 1
e, f, g = 1, 2, 3

如果想刪除一個變量哎垦,可以使用del,刪除后將不能在進(jìn)行調(diào)用恃疯,例如

a = b = c = 1
del a, b

Python的數(shù)據(jù)類型

  • Number(數(shù)字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Set(集合)
  • dictionary(字典)

不可變數(shù)據(jù)(3 個):Number(數(shù)字)漏设、String(字符串)、Tuple(元組)今妄,可變數(shù)據(jù)(3個):List(列表)郑口、Dictionary(字典)、Set(集合)

一盾鳞、Number

Python 數(shù)字?jǐn)?shù)據(jù)類型用于存儲數(shù)值犬性。數(shù)據(jù)類型是不允許改變的,這就意味著如果改變數(shù)字?jǐn)?shù)據(jù)類型的值,將重新分配內(nèi)存空間
以下實例在變量賦值時候Number對象將被創(chuàng)建:

a = 1
b = 2

1腾仅、Python支持三種不同的數(shù)值類型

  • 整型(int):通常被稱為是整型或整數(shù)乒裆,是正或負(fù)整數(shù),不帶小數(shù)點推励。Python3 整型是沒有限制大小的鹤耍,可以當(dāng)作 Long 類型使用,所以 Python3 沒有 Python2 的 Long 類型
  • 浮點型(float):浮點型由整數(shù)部分與小數(shù)部分組成验辞,浮點型也可以使用科學(xué)計數(shù)法表示(2.5e2 = 2.5 x 102 = 250)
  • 復(fù)數(shù)(complex):復(fù)數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成稿黄,可以用a + bj,或者complex(a,b)表示史侣, 復(fù)數(shù)的實部a和虛部b都是浮點型

2贾虽、Python數(shù)字類型轉(zhuǎn)換

有時候需要把數(shù)據(jù)內(nèi)置的類型轉(zhuǎn)換,數(shù)據(jù)類型轉(zhuǎn)換攒盈,只需要將數(shù)據(jù)類型作為函數(shù)名即可

  • int(a):將a轉(zhuǎn)換為一個整數(shù)壳贪,如果是小數(shù)财著,會去掉小數(shù)位
  • float(a):將a轉(zhuǎn)換到一個浮點數(shù)
  • complex(a):將a轉(zhuǎn)換到一個復(fù)數(shù),實數(shù)部分為a撑碴,虛數(shù)部分為0
  • complex(a,b):將a和b轉(zhuǎn)換到一個復(fù)數(shù)撑教,實數(shù)部分為a,虛數(shù)部分為b醉拓,a和b是數(shù)字表達(dá)式
a = 12.6
print(int(a))
# 輸出12

3伟姐、數(shù)字運算

這里只給一些使用例子,對運算符不熟悉的可以前往查看之前的文章:Python3入門(二)運算符

a = 2
b = 1
c = 1.5
# 輸出結(jié)果:3
print(a + b)
# 輸出結(jié)果:2
print(a * b)
# 輸出結(jié)果:2.0
print(a / b)
# 輸出結(jié)果:2
print(a // b)
# 輸出結(jié)果:2
print(a ** b)
# 輸出結(jié)果:4.0
print(a * c + b)
# 輸出結(jié)果:1.0
print(a // c)

除法/總是返回一個浮點數(shù)亿卤,如果想去掉可能的小數(shù)愤兵,考慮使用//,但是排吴,//得到的不一定是整數(shù)秆乳,要根據(jù)除數(shù)和被除數(shù)的類型而定,上面的給出了例子;不同的數(shù)據(jù)類型之間混合運算屹堰,結(jié)果會轉(zhuǎn)換為浮點數(shù)

4肛冶、數(shù)學(xué)函數(shù)

函數(shù) 描述
abs(a) 返回數(shù)字a的絕對值,如abs(-1)返回1
ceil(a) 返回數(shù)字的上入整數(shù)扯键,如math.ceil(4.1)返回5
exp(a) 返回e的a次冪睦袖,如math.exp(1)返回2.718281828459045
fabs(a) 返回數(shù)字的絕對值,如math.fabs(-1)返回1.0
floor(a) 返回數(shù)字的下舍整數(shù)荣刑,如math.floor(4.6)返回4
log(a) 對數(shù)函數(shù)馅笙,如math.log(4,2)返回2.0
max(a,b,c...) 返回給定參數(shù)的最大值,參數(shù)可以為序列
min(a,b,c...) 返回給定參數(shù)的最小值厉亏,參數(shù)可以為序列
modf(a) 返回a的整數(shù)部分和小數(shù)部分董习,兩部分的數(shù)值符號與a相同,整數(shù)部分以浮點數(shù)表示
pow(a,b) a**b后的值
round(a,b) 返回a的四舍五入的值爱只,b可以不設(shè)置皿淋,如果設(shè)置,表示舍入到小數(shù)的幾位
sqrt(a) 返回a的平方根

5虱颗、隨機數(shù)函數(shù)

隨機數(shù)可以用于數(shù)學(xué)沥匈,游戲,安全等領(lǐng)域中忘渔,還經(jīng)常被嵌入到算法中高帖,用以提高算法效率,并提高程序的安全性畦粮。Python包含以下常用隨機數(shù)函數(shù)

函數(shù) 描述
choice(seq) 從序列的元素中隨機挑選一個元素散址,比如random.choice(range(10)),從0到9中隨機挑選一個整數(shù)宣赔。
randrange ([start]预麸, stop, [step]) 從指定范圍內(nèi)儒将,按指定基數(shù)遞增的集合中獲取一個隨機數(shù)吏祸,基數(shù)缺省值為1
random() 隨機生成下一個實數(shù),它在[0,1)范圍內(nèi)
seed([x]) 改變隨機數(shù)生成器的種子seed钩蚊。如果你不了解其原理贡翘,你不必特別去設(shè)定seed,Python會幫你選擇seed砰逻。
shuffle(lst) 將序列的所有元素隨機排序
uniform(x, y) 隨機生成下一個實數(shù)鸣驱,它在[x,y]范圍內(nèi)

6、三角函數(shù)

函數(shù) 描述
acos(x) 返回x的反余弦弧度值
asin(x) 返回x的反正弦弧度值
atan(x) 返回x的反正切弧度值
atan2(y, x) 返回給定的 X 及 Y 坐標(biāo)值的反正切值
cos(x) 返回x的弧度的余弦值
hypot(x, y) 返回歐幾里德范數(shù) sqrt(xx + yy)
sin(x) 返回的x弧度的正弦值
tan(x) 返回x弧度的正切值
degrees(x) 將弧度轉(zhuǎn)換為角度,如degrees(math.pi/2) 蝠咆, 返回90.0
radians(x) 將角度轉(zhuǎn)換為弧度

7踊东、數(shù)學(xué)常量

函數(shù) 描述
pi 數(shù)學(xué)常量 pi(圓周率北滥,一般以π來表示)
e 數(shù)學(xué)常量 e,e即自然常數(shù)(自然常數(shù))

二闸翅、String(字符串)

字符串是 Python 中最常用的數(shù)據(jù)類型再芋。我們可以使用引號( ' 或 " )來創(chuàng)建字符串

1、訪問字符串

Python 不支持單字符類型缎脾,單字符在 Python 中也是作為一個字符串使用祝闻。Python 訪問子字符串占卧,可以使用方括號來截取字符串遗菠,如下

a = "hello"
b = "python"
# 輸出:l
print(a[2])
# 輸出:pyt
print(b[0: 3])

2、改變字符串

截取字符串的一部分并與其他字段拼接

a = "hillo"
b = "world"
# 輸出hi world
print(a[0:2]+" "+b)

3华蜒、轉(zhuǎn)義字符

轉(zhuǎn)義字符 描述
(行尾的時候) 續(xù)行符
|反斜杠符號
' 單引號
" 雙引號
\a 響鈴
\b 退格
\000
\n 換行
\v 縱向制表符
\t 橫向制表符
\r 回車
\f 換頁
\oyy 八進(jìn)制數(shù)辙纬,yy代表字符
\xyy 十六進(jìn)制數(shù),yy代表字符
\other 其他的字符以普通格式輸出

4叭喜、字符串運算符

操作符 描述
+ 字符串品拼接
* 重復(fù)輸出字符串
[] 通過索引獲取字符串中字符
[a:b] 截取字符串中一部分贺拣,a為開始下標(biāo),右為結(jié)束
in 成員運算符捂蕴,如果字符串中包含給定字符譬涡,返回True
not in 如果字符串中不包含給定字符,返回True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思來使用啥辨,沒有轉(zhuǎn)義特殊或不能打印的字符

5涡匀、字符串格式化

Python 支持格式化字符串的輸出 。盡管這樣可能會用到非常復(fù)雜的表達(dá)式溉知,但最基本的用法是將一個值插入到一個有字符串格式符 %s 的字符串中

# 輸出:翠花你今天真好看
print("%s你今天真好看" % '翠花')

格式化符號

符號 描述
%c 格式化字符及其ASCII碼
%d 格式化整數(shù)
%s 格式化字符串
%u 格式化無符號整型
%o 格式化無符號八進(jìn)制數(shù)
%x 格式化無符號十六進(jìn)制數(shù)
%X 格式化無符號十六進(jìn)制數(shù)(大寫)
%f 格式化浮點數(shù)字陨瘩,可指定小數(shù)點后的精度
%e 用科學(xué)計數(shù)法格式化浮點數(shù)
%E 作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)
%g %f和%e的簡寫
%G %f 和 %E 的簡寫
%p 用十六進(jìn)制數(shù)格式化變量的地址

格式化輔助指令

符號 功能
* 定義寬度或者小數(shù)點精度
- 用做左對齊
+ 在正數(shù)前面顯示加號( + )
<sp> 在正數(shù)前面顯示空格
# 在八進(jìn)制數(shù)前面顯示零('0')级乍,在十六進(jìn)制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')
0 顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格
% '%%'輸出一個單一的'%'
(var) 映射變量(字典參數(shù))
m.n. m 是顯示的最小總寬度,n 是小數(shù)點后的位數(shù)(如果可用的話)

6舌劳、三引號

python三引號允許一個字符串跨多行,字符串中可以包含換行符玫荣、制表符以及其他特殊字符

s = """啦啦啦啦
啦啦啦啦啦啦
使用制表符
TAB(\t)
換行符[\n]
"""
print(s)

7甚淡、字符串內(nèi)帶函數(shù)

函數(shù) 描述
capitalize() 將字符串的第一個字符轉(zhuǎn)換為大寫
center(width, fillchar) 返回一個指定的寬度 width 居中的字符串,fillchar 為填充的字符捅厂,默認(rèn)為空格
count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出現(xiàn)的次數(shù)贯卦,如果 beg 或者 end 指定則返回指定范圍內(nèi) str 出現(xiàn)的次數(shù)
bytes.decode(encoding="utf-8", errors="strict") Python3 中沒有 decode 方法,但我們可以使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象恒傻,這個 bytes 對象可以由 str.encode() 來編碼返回
encode(encoding='UTF-8',errors='strict') 以 encoding 指定的編碼格式編碼字符串脸侥,如果出錯默認(rèn)報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'
endswith(suffix, beg=0, end=len(string)) 檢查字符串是否以 obj 結(jié)束盈厘,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束睁枕,如果是,返回 True,否則返回 False
expandtabs(tabsize=8) 把字符串 string 中的 tab 符號轉(zhuǎn)為空格,tab 符號默認(rèn)的空格數(shù)是 8
find(str, beg=0, end=len(string)) 檢測 str 是否包含在字符串中外遇,如果指定范圍 beg 和 end 注簿,則檢查是否包含在指定范圍內(nèi),如果包含返回開始的索引值跳仿,否則返回-1
index(str, beg=0, end=len(string)) 跟find()方法一樣诡渴,只不過如果str不在字符串中會報一個異常
isalnum() 如果字符串至少有一個字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False
isalpha() 如果字符串至少有一個字符并且所有字符都是字母則返回 True, 否則返回 False
isdigit() 如果字符串只包含數(shù)字則返回 True 否則返回 False
islower() 如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫菲语,則返回 True妄辩,否則返回 False
isnumeric() 如果字符串中只包含數(shù)字字符,則返回 True山上,否則返回 False
isspace() 如果字符串中只包含空白眼耀,則返回 True,否則返回 False
istitle() 如果字符串是標(biāo)題化的(見 title())則返回 True佩憾,否則返回 False
isupper() 如果字符串中包含至少一個區(qū)分大小寫的字符哮伟,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回 True妄帘,否則返回 False
join(seq) 以指定字符串作為分隔符楞黄,將 seq 中所有的元素(的字符串表示)合并為一個新的字符串
len(string) 返回字符串長度
ljust(width[, fillchar]) 返回一個原字符串左對齊,并使用 fillchar 填充至長度 width 的新字符串,fillchar 默認(rèn)為空格
lower() 轉(zhuǎn)換字符串中所有大寫字符為小寫
lstrip() 截掉字符串左邊的空格或指定字符
maketrans() 創(chuàng)建字符映射的轉(zhuǎn)換表抡驼,對于接受兩個參數(shù)的最簡單的調(diào)用方式鬼廓,第一個參數(shù)是字符串,表示需要轉(zhuǎn)換的字符婶恼,第二個參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)
max(str) 返回字符串 str 中最大的字母
min(str) 返回字符串 str 中最小的字母
replace(old, new [, max]) 把 將字符串中的 str1 替換成 str2,如果 max 指定桑阶,則替換不超過 max 次
rfind(str, beg=0,end=len(string)) 類似于 find()函數(shù),不過是從右邊開始查找
rindex( str, beg=0, end=len(string)) 類似于 index()勾邦,不過是從右邊開始.
rjust(width,[, fillchar]) 返回一個原字符串右對齊,并使用fillchar(默認(rèn)空格)填充至長度 width 的新字符串
rstrip() 刪除字符串字符串末尾的空格
split(str="", num=string.count(str)) num=string.count(str)) 以 str 為分隔符截取字符串蚣录,如果 num 有指定值,則僅截取 num+1 個子字符串
splitlines([keepends]) 按照行('\r', '\r\n', \n')分隔眷篇,返回一個包含各行作為元素的列表萎河,如果參數(shù) keepends 為 False,不包含換行符蕉饼,如果為 True虐杯,則保留換行符
startswith(substr, beg=0,end=len(string)) 檢查字符串是否是以指定子字符串 substr 開頭,是則返回 True昧港,否則返回 False擎椰。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查
strip([chars]) 在字符串上執(zhí)行 lstrip()和 rstrip()
swapcase() 將字符串中大寫轉(zhuǎn)換為小寫创肥,小寫轉(zhuǎn)換為大寫
title() 返回"標(biāo)題化"的字符串,就是說所有單詞都是以大寫開始达舒,其余字母均為小寫(見 istitle())
translate(table, deletechars="") 根據(jù) str 給出的表(包含 256 個字符)轉(zhuǎn)換 string 的字符, 要過濾掉的字符放到 deletechars 參數(shù)中
upper() 轉(zhuǎn)換字符串中的小寫字母為大寫
zfill (width) 返回長度為 width 的字符串值朋,原字符串右對齊,前面填充0
isdecimal() 檢查字符串是否只包含十進(jìn)制字符巩搏,如果是返回 true昨登,否則返回 false。

三贯底、列表

序列是Python中最基本的數(shù)據(jù)結(jié)構(gòu)丰辣。序列中的每個元素都分配一個數(shù)字 - 它的位置,或索引禽捆,第一個索引是0笙什,第二個索引是1,依此類推睦擂,
列表是最常用的Python數(shù)據(jù)類型得湘,它可以作為一個方括號內(nèi)的逗號分隔值出現(xiàn)杖玲。列表的數(shù)據(jù)項不需要具有相同的類型

list1 = ["nihao", 13, 123.22]

1顿仇、訪問值

使用下標(biāo)索引進(jìn)行訪問列表的值

list1 = ["nihao", 13, 123.22]
print(list1[0])
print(list1[0:3])

2、更新列表內(nèi)的值

可以對列表進(jìn)行修改或者更新摆马,也可以append()向列表內(nèi)增加

list1 = ["nihao", 13, 123.22]
list1[0] = 'no'
list1.append("hello")
# 輸出:['no', 13, 123.22, 'hello']
print(list1)

3臼闻、刪除列表元素

使用del語句來刪除列表的元素

list1 = ["nihao", 13, 123.22]
del list1[0]
# 輸出結(jié)果:[13, 123.22]
print(list1)

4、腳本操作符

表達(dá)式 描述
len(list) 返回列表長度
list1+list2 將兩個列表組合
["hi"] * 2 重復(fù)囤采,得到["hi","hi"]
3 in list1 判斷元素是否在列表里述呐,返回True如果存在,反之False
for x in list; print(x) 迭代

5蕉毯、截取和拼接

表達(dá)式 描述
list[2] 取列表第三個元素
list[-2] 取右邊開始第二個元素
list[1:] 讀取第二個元素開始后的所有元素

6乓搬、列表函數(shù)和方法

  • 函數(shù)
函數(shù) 描述
len(list) 返回列表元素的個數(shù)
max(list) 返回列表元素的最大值
min(list) 返回列表元素的最小值
list(seq) 將元素轉(zhuǎn)換為列表
  • 方法
方法 描述
list.append(obj) 在列表末尾添加新的對象
list.count(obj) 統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)
list.extend(seq) 在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
list.index(obj) 從列表中找出某個值第一個匹配項的索引位置
list.insert(index, obj) 將對象插入列表
list.pop([index=-1]) 移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值
list.remove(obj) 移除列表中某個值的第一個匹配項
list.reverse() 反向列表中元素
list.sort( key=None, reverse=False) 對原列表進(jìn)行排序
list.clear() 清空列表
list.copy() 復(fù)制列表

四代虾、Tuple(元組)

Python 的元組與列表類似进肯,不同之處在于元組的元素不能修改, 元組使用小括號,列表使用方括號,元組與字符串類似棉磨,下標(biāo)索引從0開始江掩,可以進(jìn)行截取,組合等乘瓤。

tup1 = ("1", 2, 'hello')

元組中只包含一個元素時环形,需要在元素后面添加逗號,否則括號會被當(dāng)作運算符使用

tup1 = ("1",)

1衙傀、訪問元組

元組可以使用下標(biāo)索引來訪問元組中的值

tup1 = ("1", 2, 'hello')
print(tup1[1])
print(tup1[0:2])

2抬吟、修改元組

元組中的元素值不可以更改,但是可以將多個元組組合

tup1 = ("1", 2, 'hello')
tup2 = (1,)
tup3 = tup1 + tup2
print(tup3)
# 輸出:('1', 2, 'hello', 1)

3统抬、刪除元組

元組中的元素值是不允許刪除的火本,但是可以刪除整個元組

tup1 = ("1", 2, 'hello')
del tup1

4任洞、元組運算符

表達(dá)式 描述
len(tup) 返回元素個書
tup1+tup2 將兩個元組組合
("hi") * 2 重復(fù),得到("hi","hi")
3 in tup1 判斷元素是否在元組里发侵,返回True如果存在交掏,反之False
for x in tup; print(x) 迭代

5、元組截取

表達(dá)式 描述
tup[2] 讀取元組的第三個元素
tup[-2] 讀取元素倒數(shù)第二個元素
tup[1:] 讀取元組從第二個元素開始的所有元素

6刃鳄、元組的內(nèi)置方法

方法 描述
let(tup) 返回元組的元素個數(shù)
max(tup) 返回元組中最大的元素
min(tup) 返回元組最小的元素
tuple(seq) 將列表轉(zhuǎn)為元組

五盅弛、字典

字典是另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο笫迦瘛W值涞拿總€鍵值(key=>value)對用冒號(:)分割挪鹏,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示

d = {"name": "test", "age": 12}

鍵必須是唯一的愉烙,但值則不必讨盒。值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的步责,如字符串返顺,數(shù)字或元組

1、訪問字典的值

把相應(yīng)的鍵放入到方括號中蔓肯,如下實例:

d = {"name": "test", "age": 12}
print(d["name"])

2遂鹊、修改字典

向字典添加新內(nèi)容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例

d = {"name": "test", "age": 12}
d["name"] = "test2"
d["city"] = "xiamen"
# 輸出: test2
print(d["name"])
# 輸出: xiamen
print(d["city"])

3蔗包、刪除字典中的元素

能刪單一的元素也能清空字典秉扑,清空只需一項操作。顯示刪除一個字典用del命令调限,如下實例

d = {"name": "test", "age": 12}
# 刪除鍵"name"
del d["age"]
# 清空字典
d.clear()
# 刪除字典
del d

4舟陆、鍵的特性

字典值可以是任何的 python 對象,既可以是標(biāo)準(zhǔn)的對象耻矮,也可以是用戶定義的秦躯,但鍵不行。兩個重要的點需要記滋灾印:1宦赠、不允許同一個鍵出現(xiàn)兩次。創(chuàng)建時如果同一個鍵被賦值兩次米母,后一個值會被記住勾扭,2、鍵必須不可變铁瞒,所以可以用數(shù)字妙色,字符串或元組充當(dāng),而用列表就不行

5慧耍、內(nèi)置函數(shù)和方法

  • 函數(shù)
函數(shù) 描述
len(dic) 計算字典的鍵的個數(shù)
str(dic) 將字典以字符串輸出
type(variable) 返回輸入的變量類型身辨,如果變量是字典丐谋,就返回字典類型
  • 方法
方法 描述
radiansdict.clear() 刪除字典內(nèi)所有元素
radiansdict.copy() 返回一個字典的淺復(fù)制
radiansdict.fromkeys() 創(chuàng)建一個新字典,以序列seq中元素做字典的鍵煌珊,val為字典所有鍵對應(yīng)的初始值
radiansdict.get(key, default=None) 返回指定鍵的值号俐,如果值不在字典中返回default值
key in dict 如果鍵在字典dict里返回true,否則返回false
radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
radiansdict.keys() 返回一個迭代器定庵,可以使用 list() 來轉(zhuǎn)換為列表
radiansdict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在于字典中吏饿,將會添加鍵并將值設(shè)為default
radiansdict.update(dict2) 把字典dict2的鍵/值對更新到dict里
radiansdict.values() 返回一個迭代器,可以使用 list() 來轉(zhuǎn)換為列表
pop(key[,default]) 刪除字典給定鍵 key 所對應(yīng)的值蔬浙,返回值為被刪除的值猪落。key值必須給出。 否則畴博,返回default值
popitem() 隨機返回并刪除字典中的一對鍵和值(一般刪除末尾對)

六笨忌、集合

集合(set)是一個無序的不重復(fù)元素序列【悴。可以使用大括號 { } 或者 set() 函數(shù)創(chuàng)建集合官疲,注意:創(chuàng)建一個空集合必須用 set() 而不是 { },因為 { } 是用來創(chuàng)建一個空字典

set1 = {"val1", "val2"}
set2 = set("a")

1庶艾、集合的基本操作

  • a袁余、添加元素,如果元素已存在咱揍,不做任何操作
    set1.add("val3")
  • b、移除元素
    如果元素不存在棚饵,會發(fā)生錯誤
    set1.remove("val1")
    如果元素不存在煤裙,不會發(fā)生錯誤
    set1.discard("val4")
    也可以隨機
    set1.pop()
  • c、計算集合元素的個數(shù)
    len(set)
  • d噪漾、清空集合
    set.clear()
  • e硼砰、判斷元素是否在集合中
    val1 in set

2、集合內(nèi)置所有方法

方法 描述
add() 為集合添加元素
clear() 移除集合中的所有元素
copy() 拷貝一個集合
difference() 返回多個集合的差集
difference update() 移除集合中的元素欣硼,該集合在指定集合中也存在
discard() 刪除集合中指定的元素
intersection() 返回集合的交集
intersection update() 刪除集合中的元素题翰,該元素在指定的集合中不存在
isdisjoint() 判斷兩個集合是否包含相同的元素,如果沒有返回 True诈胜,否則返回 False
issubset() 判斷指定集合是否為該方法參數(shù)集合的子集
issuperset() 判斷該方法的參數(shù)集合是否為指定集合的子集
pop() 隨機移除元素
emove() 移除指定元素
symmetric_difference() 返回兩個集合中不重復(fù)的元素集合
symmetric_difference_update() 移除當(dāng)前集合中在另外一個指定集合相同的元素豹障,并將另外一個指定集合中不同的元素插入到當(dāng)前集合中
union() 返回兩個集合的并集
update() 給集合添加元素

好了,本文到此就結(jié)束了焦匈,如發(fā)現(xiàn)有誤可以評論留言血公,我會馬上更改,歡迎大家關(guān)注哦~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缓熟,一起剝皮案震驚了整個濱河市累魔,隨后出現(xiàn)的幾起案子摔笤,更是在濱河造成了極大的恐慌,老刑警劉巖垦写,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吕世,死亡現(xiàn)場離奇詭異,居然都是意外死亡梯投,警方通過查閱死者的電腦和手機寞冯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晚伙,“玉大人吮龄,你說我怎么就攤上這事∨亓疲” “怎么了漓帚?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長午磁。 經(jīng)常有香客問我尝抖,道長,這世上最難降的妖魔是什么迅皇? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任昧辽,我火速辦了婚禮,結(jié)果婚禮上登颓,老公的妹妹穿的比我還像新娘搅荞。我一直安慰自己,他們只是感情好框咙,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布咕痛。 她就那樣靜靜地躺著,像睡著了一般喇嘱。 火紅的嫁衣襯著肌膚如雪茉贡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天者铜,我揣著相機與錄音腔丧,去河邊找鬼。 笑死作烟,一個胖子當(dāng)著我的面吹牛愉粤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俗壹,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼科汗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绷雏?” 一聲冷哼從身側(cè)響起头滔,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤怖亭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后坤检,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兴猩,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年早歇,在試婚紗的時候發(fā)現(xiàn)自己被綠了倾芝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡箭跳,死狀恐怖晨另,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谱姓,我是刑警寧澤借尿,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站屉来,受9級特大地震影響路翻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜茄靠,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一茂契、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧慨绳,春花似錦掉冶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至喂江,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旁振,已是汗流浹背获询。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拐袜,地道東北人吉嚣。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像蹬铺,于是被迫代替她去往敵國和親尝哆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一甜攀、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,720評論 0 10
  • Python 簡介Python 是一個高層次的結(jié)合了解釋性秋泄、編譯性琐馆、互動性和面向?qū)ο蟮哪_本語言。Python 的設(shè)...
    在暴風(fēng)雨中逆襲閱讀 1,713評論 0 12
  • “哇恒序。瘦麸。。歧胁∽趟牵”一陣響亮的嬰兒嘀哭聲劃破了醫(yī)院的某個角落的空氣——卡卡降生了。她是勝利者喊巍,在子宮裡為了自己活下來屠缭,拼...
    木木雨林閱讀 409評論 0 0
  • 這是一部不好評價的電影,有情感的廣度崭参,卻沒有思考的深度呵曹。 劇中很多細(xì)節(jié)處理得當(dāng),引起觀眾的共鳴阵翎,很多人哭得稀里嘩啦...
    友誼西路127號閱讀 313評論 0 0
  • 愛逢并,多么溫馨的字眼,在一生當(dāng)中要經(jīng)歷無數(shù)的愛:朋友之愛郭卫,父母之愛砍聊,夫妻之愛,子女之愛等等贰军。當(dāng)然玻蝌,作為教師對...
    范村小學(xué)司馬睿閱讀 393評論 0 1