Python3入門(mén)(三)基本數(shù)據(jù)類(lèi)型

Python 中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。在 Python 中,變量就是變量,它沒(méi)有類(lèi)型,我們所說(shuō)的"類(lèi)型"是變量所指的內(nèi)存中對(duì)象的類(lèi)型。等號(hào)(=)用來(lái)給變量賦值。等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值。例如:

count = 10
name = "python"
price = 12.5

也支持同時(shí)為多個(gè)變量賦值。例如

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

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

a = b = c = 1
del a, b

Python的數(shù)據(jù)類(lèi)型

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

不可變數(shù)據(jù)(3 個(gè)):Number(數(shù)字)、String(字符串)、Tuple(元組),可變數(shù)據(jù)(3個(gè)):List(列表)、Dictionary(字典)、Set(集合)

一、Number

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

a = 1
b = 2

1、Python支持三種不同的數(shù)值類(lèi)型

  • 整型(int):通常被稱(chēng)為是整型或整數(shù),是正或負(fù)整數(shù),不帶小數(shù)點(diǎn)。Python3 整型是沒(méi)有限制大小的,可以當(dāng)作 Long 類(lèi)型使用,所以 Python3 沒(méi)有 Python2 的 Long 類(lèi)型
  • 浮點(diǎn)型(float):浮點(diǎn)型由整數(shù)部分與小數(shù)部分組成,浮點(diǎn)型也可以使用科學(xué)計(jì)數(shù)法表示(2.5e2 = 2.5 x 102 = 250)
  • 復(fù)數(shù)(complex):復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示, 復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型

2、Python數(shù)字類(lèi)型轉(zhuǎn)換

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

  • int(a):將a轉(zhuǎn)換為一個(gè)整數(shù),如果是小數(shù),會(huì)去掉小數(shù)位
  • float(a):將a轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
  • complex(a):將a轉(zhuǎn)換到一個(gè)復(fù)數(shù),實(shí)數(shù)部分為a,虛數(shù)部分為0
  • complex(a,b):將a和b轉(zhuǎn)換到一個(gè)復(fù)數(shù),實(shí)數(shù)部分為a,虛數(shù)部分為b,a和b是數(shù)字表達(dá)式
a = 12.6
print(int(a))
# 輸出12

3、數(shù)字運(yùn)算

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

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)

除法/總是返回一個(gè)浮點(diǎn)數(shù),如果想去掉可能的小數(shù),考慮使用//,但是,//得到的不一定是整數(shù),要根據(jù)除數(shù)和被除數(shù)的類(lèi)型而定,上面的給出了例子;不同的數(shù)據(jù)類(lèi)型之間混合運(yùn)算,結(jié)果會(huì)轉(zhuǎn)換為浮點(diǎn)數(shù)

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

函數(shù) 描述
abs(a) 返回?cái)?shù)字a的絕對(duì)值,如abs(-1)返回1
ceil(a) 返回?cái)?shù)字的上入整數(shù),如math.ceil(4.1)返回5
exp(a) 返回e的a次冪,如math.exp(1)返回2.718281828459045
fabs(a) 返回?cái)?shù)字的絕對(duì)值,如math.fabs(-1)返回1.0
floor(a) 返回?cái)?shù)字的下舍整數(shù),如math.floor(4.6)返回4
log(a) 對(duì)數(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ù)值符號(hào)與a相同,整數(shù)部分以浮點(diǎn)數(shù)表示
pow(a,b) a**b后的值
round(a,b) 返回a的四舍五入的值,b可以不設(shè)置,如果設(shè)置,表示舍入到小數(shù)的幾位
sqrt(a) 返回a的平方根

5、隨機(jī)數(shù)函數(shù)

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

函數(shù) 描述
choice(seq) 從序列的元素中隨機(jī)挑選一個(gè)元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個(gè)整數(shù)。
randrange ([start], stop, [step]) 從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)缺省值為1
random() 隨機(jī)生成下一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)
seed([x]) 改變隨機(jī)數(shù)生成器的種子seed。如果你不了解其原理,你不必特別去設(shè)定seed,Python會(huì)幫你選擇seed。
shuffle(lst) 將序列的所有元素隨機(jī)排序
uniform(x, y) 隨機(jī)生成下一個(gè)實(shí)數(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(圓周率,一般以π來(lái)表示)
e 數(shù)學(xué)常量 e,e即自然常數(shù)(自然常數(shù))

二、String(字符串)

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

1、訪問(wèn)字符串

Python 不支持單字符類(lèi)型,單字符在 Python 中也是作為一個(gè)字符串使用。Python 訪問(wèn)子字符串,可以使用方括號(hào)來(lái)截取字符串,如下

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)義字符 描述
(行尾的時(shí)候) 續(xù)行符
|反斜杠符號(hào)
' 單引號(hào)
" 雙引號(hào)
\a 響鈴
\b 退格
\000
\n 換行
\v 縱向制表符
\t 橫向制表符
\r 回車(chē)
\f 換頁(yè)
\oyy 八進(jìn)制數(shù),yy代表字符
\xyy 十六進(jìn)制數(shù),yy代表字符
\other 其他的字符以普通格式輸出

4、字符串運(yùn)算符

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

5、字符串格式化

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

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

格式化符號(hào)

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

格式化輔助指令

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

6、三引號(hào)

python三引號(hào)允許一個(gè)字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符

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

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

函數(shù) 描述
capitalize() 將字符串的第一個(gè)字符轉(zhuǎn)換為大寫(xiě)
center(width, fillchar) 返回一個(gè)指定的寬度 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 中沒(méi)有 decode 方法,但我們可以使用 bytes 對(duì)象的 decode() 方法來(lái)解碼給定的 bytes 對(duì)象,這個(gè) bytes 對(duì)象可以由 str.encode() 來(lái)編碼返回
encode(encoding='UTF-8',errors='strict') 以 encoding 指定的編碼格式編碼字符串,如果出錯(cuò)默認(rèn)報(bào)一個(gè)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 符號(hào)轉(zhuǎn)為空格,tab 符號(hào)默認(rèn)的空格數(shù)是 8
find(str, beg=0, end=len(string)) 檢測(cè) str 是否包含在字符串中,如果指定范圍 beg 和 end ,則檢查是否包含在指定范圍內(nèi),如果包含返回開(kāi)始的索引值,否則返回-1
index(str, beg=0, end=len(string)) 跟find()方法一樣,只不過(guò)如果str不在字符串中會(huì)報(bào)一個(gè)異常
isalnum() 如果字符串至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False
isalpha() 如果字符串至少有一個(gè)字符并且所有字符都是字母則返回 True, 否則返回 False
isdigit() 如果字符串只包含數(shù)字則返回 True 否則返回 False
islower() 如果字符串中包含至少一個(gè)區(qū)分大小寫(xiě)的字符,并且所有這些(區(qū)分大小寫(xiě)的)字符都是小寫(xiě),則返回 True,否則返回 False
isnumeric() 如果字符串中只包含數(shù)字字符,則返回 True,否則返回 False
isspace() 如果字符串中只包含空白,則返回 True,否則返回 False
istitle() 如果字符串是標(biāo)題化的(見(jiàn) title())則返回 True,否則返回 False
isupper() 如果字符串中包含至少一個(gè)區(qū)分大小寫(xiě)的字符,并且所有這些(區(qū)分大小寫(xiě)的)字符都是大寫(xiě),則返回 True,否則返回 False
join(seq) 以指定字符串作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個(gè)新的字符串
len(string) 返回字符串長(zhǎng)度
ljust(width[, fillchar]) 返回一個(gè)原字符串左對(duì)齊,并使用 fillchar 填充至長(zhǎng)度 width 的新字符串,fillchar 默認(rèn)為空格
lower() 轉(zhuǎn)換字符串中所有大寫(xiě)字符為小寫(xiě)
lstrip() 截掉字符串左邊的空格或指定字符
maketrans() 創(chuàng)建字符映射的轉(zhuǎn)換表,對(duì)于接受兩個(gè)參數(shù)的最簡(jiǎn)單的調(diào)用方式,第一個(gè)參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個(gè)參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)
max(str) 返回字符串 str 中最大的字母
min(str) 返回字符串 str 中最小的字母
replace(old, new [, max]) 把 將字符串中的 str1 替換成 str2,如果 max 指定,則替換不超過(guò) max 次
rfind(str, beg=0,end=len(string)) 類(lèi)似于 find()函數(shù),不過(guò)是從右邊開(kāi)始查找
rindex( str, beg=0, end=len(string)) 類(lèi)似于 index(),不過(guò)是從右邊開(kāi)始.
rjust(width,[, fillchar]) 返回一個(gè)原字符串右對(duì)齊,并使用fillchar(默認(rèn)空格)填充至長(zhǎng)度 width 的新字符串
rstrip() 刪除字符串字符串末尾的空格
split(str="", num=string.count(str)) num=string.count(str)) 以 str 為分隔符截取字符串,如果 num 有指定值,則僅截取 num+1 個(gè)子字符串
splitlines([keepends]) 按照行('\r', '\r\n', \n')分隔,返回一個(gè)包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符
startswith(substr, beg=0,end=len(string)) 檢查字符串是否是以指定子字符串 substr 開(kāi)頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查
strip([chars]) 在字符串上執(zhí)行 lstrip()和 rstrip()
swapcase() 將字符串中大寫(xiě)轉(zhuǎn)換為小寫(xiě),小寫(xiě)轉(zhuǎn)換為大寫(xiě)
title() 返回"標(biāo)題化"的字符串,就是說(shuō)所有單詞都是以大寫(xiě)開(kāi)始,其余字母均為小寫(xiě)(見(jiàn) istitle())
translate(table, deletechars="") 根據(jù) str 給出的表(包含 256 個(gè)字符)轉(zhuǎn)換 string 的字符, 要過(guò)濾掉的字符放到 deletechars 參數(shù)中
upper() 轉(zhuǎn)換字符串中的小寫(xiě)字母為大寫(xiě)
zfill (width) 返回長(zhǎng)度為 width 的字符串,原字符串右對(duì)齊,前面填充0
isdecimal() 檢查字符串是否只包含十進(jìn)制字符,如果是返回 true,否則返回 false。

三、列表

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

list1 = ["nihao", 13, 123.22]

1、訪問(wèn)值

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

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

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

可以對(duì)列表進(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語(yǔ)句來(lái)刪除列表的元素

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

4、腳本操作符

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

5、截取和拼接

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

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

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

四、Tuple(元組)

Python 的元組與列表類(lèi)似,不同之處在于元組的元素不能修改, 元組使用小括號(hào),列表使用方括號(hào),元組與字符串類(lèi)似,下標(biāo)索引從0開(kāi)始,可以進(jìn)行截取,組合等。

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

元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào),否則括號(hào)會(huì)被當(dāng)作運(yùn)算符使用

tup1 = ("1",)

1、訪問(wèn)元組

元組可以使用下標(biāo)索引來(lái)訪問(wèn)元組中的值

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

2、修改元組

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

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

3、刪除元組

元組中的元素值是不允許刪除的,但是可以刪除整個(gè)元組

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

4、元組運(yùn)算符

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

5、元組截取

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

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

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

五、字典

字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類(lèi)型對(duì)象。字典的每個(gè)鍵值(key=>value)對(duì)用冒號(hào)(:)分割,每個(gè)對(duì)之間用逗號(hào)(,)分割,整個(gè)字典包括在花括號(hào)({})中 ,格式如下所示

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

鍵必須是唯一的,但值則不必。值可以取任何數(shù)據(jù)類(lèi)型,但鍵必須是不可變的,如字符串,數(shù)字或元組

1、訪問(wèn)字典的值

把相應(yīng)的鍵放入到方括號(hào)中,如下實(shí)例:

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

2、修改字典

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

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

3、刪除字典中的元素

能刪單一的元素也能清空字典,清空只需一項(xiàng)操作。顯示刪除一個(gè)字典用del命令,如下實(shí)例

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

4、鍵的特性

字典值可以是任何的 python 對(duì)象,既可以是標(biāo)準(zhǔn)的對(duì)象,也可以是用戶(hù)定義的,但鍵不行。兩個(gè)重要的點(diǎn)需要記?。?、不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住,2、鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),而用列表就不行

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

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

六、集合

集合(set)是一個(gè)無(wú)序的不重復(fù)元素序列??梢允褂么罄ㄌ?hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來(lái)創(chuàng)建一個(gè)空字典

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

1、集合的基本操作

  • a、添加元素,如果元素已存在,不做任何操作
    set1.add("val3")
  • b、移除元素
    如果元素不存在,會(huì)發(fā)生錯(cuò)誤
    set1.remove("val1")
    如果元素不存在,不會(huì)發(fā)生錯(cuò)誤
    set1.discard("val4")
    也可以隨機(jī)
    set1.pop()
  • c、計(jì)算集合元素的個(gè)數(shù)
    len(set)
  • d、清空集合
    set.clear()
  • e、判斷元素是否在集合中
    val1 in set

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,350評(píng)論 0 10
  • Python 簡(jiǎn)介Python 是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言。Python 的設(shè)...
    在暴風(fēng)雨中逆襲閱讀 1,908評(píng)論 0 12
  • “哇。。。。”一陣響亮的嬰兒嘀哭聲劃破了醫(yī)院的某個(gè)角落的空氣——卡卡降生了。她是勝利者,在子宮裡為了自己活下來(lái),拼...
    木木雨林閱讀 451評(píng)論 0 0
  • 這是一部不好評(píng)價(jià)的電影,有情感的廣度,卻沒(méi)有思考的深度。 劇中很多細(xì)節(jié)處理得當(dāng),引起觀眾的共鳴,很多人哭得稀里嘩啦...
    友誼西路127號(hào)閱讀 472評(píng)論 0 0
  • 愛(ài),多么溫馨的字眼,在一生當(dāng)中要經(jīng)歷無(wú)數(shù)的愛(ài):朋友之愛(ài),父母之愛(ài),夫妻之愛(ài),子女之愛(ài)等等。當(dāng)然,作為教師對(duì)...
    范村小學(xué)司馬睿閱讀 433評(píng)論 0 1

友情鏈接更多精彩內(nèi)容