1. 程式人生 > 其它 >python基礎之資料型別(一)

python基礎之資料型別(一)

python基礎之資料型別(一)

Python3 數字(Number)

定義:a=1

特性:

1.只能存放一個值

2.一經定義,不可更改

3.直接訪問

分類:整型,長整型,布林,浮點,複數

python2.*與python3.*關於整型的區別

python2.* 在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647
在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807 python3.*整形長度無限制

Python 數字資料型別用於儲存數值。

資料型別是不允許改變的,這就意味著如果改變數字資料型別得值,將重新分配記憶體空間。

整型工廠函式int()

python2

+ View Code

python3

+ View Code

長整型long:

python2.*: 跟C語言不同,Python的長整型沒有指定位寬,也就是說Python沒有限制長整型數值的大小, 但是實際上由於機器記憶體有限,所以我們使用的長整型數值不可能無限大。 在使用過程中,我們如何區分長整型和整型數值呢? 通常的做法是在數字尾部加上一個大寫字母L或小寫字母l以表示該整數是長整型的,例如: a = 9223372036854775808L 注意,自從Python2起,如果發生溢位,Python會自動將整型資料轉換為長整型, 所以如今在長整型資料後面不加字母L也不會導致嚴重後果了。
python3.* 長整型,整型統一歸為整型
+ View Code

以下例項在變數賦值時 Number 物件將被建立:

1 2 var1=1 var2=10

int(整型)

  在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647    在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807 + View Code

您也可以使用del語句刪除一些數字物件的引用。

del語句的語法是:

1 delvar1[,var2[,var3[....,varN]]]]

您可以通過使用del語句刪除單個或多個物件的引用,例如:

1 2 delvar delvar_a, var_b

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

  • 整型(Int)- 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 型別使用,所以 Python3 沒有 Python2 的 Long 型別。
  • 浮點型(float)- 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102= 250)
  • 複數( (complex))- 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

我們可以使用十六進位制和八進位制來代表整數:

1 2 3 4 5 6 7 >>> number=0xA0F# 十六進位制 >>> number 2575 >>> number=0o37# 八進位制 >>> number 31
intfloatcomplex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3+e18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2-E12 4.53e-7j
  • Python支援複數,複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

Python 數字型別轉換

有時候,我們需要對資料內建的型別進行轉換,資料型別的轉換,你只需要將資料型別作為函式名即可。

  • int(x)將x轉換為一個整數。

  • float(x)將x轉換到一個浮點數。

  • complex(x)將x轉換到一個複數,實數部分為 x,虛數部分為 0。

  • complex(x, y)將 x 和 y 轉換到一個複數,實數部分為 x,虛數部分為 y。x 和 y 是數字表達式。

以下例項將浮點數變數 a 轉換為整數:

1 2 3 >>> a=1.0 >>>int(a) 1

Python 數字運算

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

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

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

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

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

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

等號(=)用於給變數賦值。賦值之後,除了下一個提示符,直譯器不會顯示任何結果。

1 2 3 4 >>> width=20 >>> height=5*9 >>> width*height 900

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

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

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

1 2 3 4 >>> n# 嘗試訪問一個未定義的變數 Traceback (most recent call last): File"<stdin>", line1,in<module> NameError: name'n'isnotdefined

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

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

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

1 2 3 4 5 6 7 8 >>> 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的平方根,數字可以為負數,返回型別為實數,如math.sqrt(4)返回 2+0j

隨機數函式

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

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即自然常數(自然常數)。
布林值   真或假   1 或 0

浮點數float:

Python的浮點數就是數學中的小數,類似C語言中的double。 在運算中,整數與浮點數運算的結果是浮點數 浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時, 一個浮點數的小數點位置是可變的,比如,1.23*109和12.3*108是相等的。 
浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數, 就必須用科學計數法表示,把10用e替代,1.23*109就是1.23e9,或者12.3e8,0.000012 可以寫成1.2e-5,等等。 整數和浮點數在計算機內部儲存的方式是不同的,
整數運算永遠是精確的而浮點數運算則可能會有 四捨五入的誤差。

數字相關內建函式

Python3字串

字串是 Python 中最常用的資料型別。我們可以使用引號('或")來建立字串。

定義:它是一個有序的字元的集合,用於儲存和表示基本的文字資訊,‘’或“”或‘’‘ ’‘’中間包含的內容稱之為字串 特性:
1.只能存放一個值 2.不可變 3.按照從左到右的順序定義字元集合,下標從0開始順序訪問,有序
補充:   
1.字串的單引號和雙引號都無法取消特殊字元的含義,如果想讓引號內所有字元均取消特殊意義,在引號前面加r,如name=r'l\thf'   
2.unicode字串與r連用必需在r前面,如name=ur'l\thf'

字串常用功能:
  • 移除空白
  • 分割
  • 長度
  • 索引
  • 切片
+ View Code + View Code

建立字串很簡單,只要為變數分配一個值即可。例如:

1 2 var1='Hello World!' var2="Runoob"

Python 訪問字串中的值

Python 不支援單字元型別,單字元也在Python也是作為一個字串使用。

Python 訪問子字串,可以使用方括號來擷取字串,如下例項:

1 2 3 4 5 6 7 #!/usr/bin/python3 var1='Hello World!' var2="Runoob" print("var1[0]: ", var1[0]) print("var2[1:5]: ", var2[1:5])

以上例項執行結果:

1 2 var1[0]: H var2[1:5]: unoo

Python字串更新

你可以對已存在的字串進行修改,並賦值給另一個變數,如下例項:

1 2 3 4 5 #!/usr/bin/python3 var1='Hello World!' print("已更新字串 : ", var1[:6]+'Runoob!')

以上例項執行結果

1 已更新字串 : Hello Runoob!

Python轉義字元

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

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

Python字串運算子

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

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

例項

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/python3 a="Hello" b="Python" print("a + b 輸出結果:", a+b) print("a * 2 輸出結果:", a*2) print("a[1] 輸出結果:", a[1]) print("a[1:4] 輸出結果:", a[1:4]) if("H"ina) : print("H 在變數 a 中") else: print("H 不在變數 a 中") if("M"notina) : print("M 不在變數 a 中") else: print("M 在變數 a 中") print(r'\n') print(R'\n')

以上例項輸出結果為:

1 2 3 4 5 6 7 8 a+b 輸出結果: HelloPython a*2輸出結果: HelloHello a[1] 輸出結果: e a[1:4] 輸出結果: ell H 在變數 a 中 M 不在變數 a 中 \n \n

Python字串格式化

Python 支援格式化字串的輸出 。儘管這樣可能會用到非常複雜的表示式,但最基本的用法是將一個值插入到一個有字串格式符 %s 的字串中。

在 Python 中,字串格式化使用與 C 中 sprintf 函式一樣的語法。

如下例項:

1 2 3 #!/usr/bin/python3 print("我叫 %s 今年 %d 歲!"%('小明',10))

以上例項輸出結果:

1 我叫 小明 今年10歲!

python字串格式化符號:

<tbody

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

格式化操作符輔助指令:

符號功能
* 定義寬度或者小數點精度
- 用做左對齊
+ 在正數前面顯示加號( + )
<sp> 在正數前面顯示空格
# 在八進位制數前面顯示零('0'),在十六進位制前面顯示'0x'或者'0X'(取決於用的是'x'還是'X')
0 顯示的數字前面填充'0'而不是預設的空格
% '%%'輸出一個單一的'%'
(var) 對映變數(字典引數)
m.n. m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)

Python三引號

python三引號允許一個字串跨多行,字串中可以包含換行符、製表符以及其他特殊字元。例項如下

1 2 3 4 5 6 7 8 #!/usr/bin/python3 para_str="""這是一個多行字串的例項 多行字串可以使用製表符 TAB ( \t )。 也可以使用換行符 [ \n ]。 """ print(para_str)

以上例項執行結果為:

1 2 3 4 5 這是一個多行字串的例項 多行字串可以使用製表符 TAB ( )。 也可以使用換行符 [ ]。

三引號讓程式設計師從引號和特殊字串的泥潭裡面解脫出來,自始至終保持一小塊字串的格式是所謂的WYSIWYG(所見即所得)格式的。

一個典型的用例是,當你需要一塊HTML或者SQL時,這時用字串組合,特殊字串轉義將會非常的繁瑣。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 errHTML=''' <HTML><HEAD><TITLE> Friends CGI Demo</TITLE></HEAD> <BODY><H3>ERROR</H3> <B>%s</B><P> <FORM><INPUT TYPE=button VALUE=Back ONCLICK="window.history.back()"></FORM> </BODY></HTML> ''' cursor.execute(''' CREATE TABLE users ( login VARCHAR(8), uid INTEGER, prid INTEGER) ''')

Unicode 字串

在Python2中,普通字串是以8位ASCII碼進行儲存的,而Unicode字串則儲存為16位unicode字串,這樣能夠表示更多的字符集。使用的語法是在字串前面加上字首u

在Python3中,所有的字串都是Unicode字串。

小結

Python 3的字串使用Unicode,直接支援多語言。

str和bytes互相轉換時,需要指定編碼。最常用的編碼是UTF-8。Python當然也支援其他編碼方式,比如把Unicode編碼成GB2312:

1 2 >>>'中文'.encode('gb2312') b'\xd6\xd0\xce\xc4'

但這種方式純屬自找麻煩,如果沒有特殊業務要求,請牢記僅使用UTF-8編碼。

格式化字串的時候,可以用Python的互動式命令列測試,方便快捷。


Python 的字串內建函式

Python 的字串常用內建函式如下:

序號方法及描述
1

capitalize()將字串的第一個字元轉換為大寫

2

center(width, fillchar)

返回一個指定的寬度 width 居中的字串,fillchar 為填充的字元,預設為空格。
3

count(str, beg= 0,end=len(string))

返回 str 在 string 裡面出現的次數,如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數
4

decode(encoding='UTF-8',errors='strict')

使用指定編碼來解碼字串。預設編碼為字串編碼。
5

encode(encoding='UTF-8',errors='strict')

以 encoding 指定的編碼格式編碼字串,如果出錯預設報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'
6

endswith(suffix, beg=0, end=len(string))檢查字串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,如果是,返回 True,否則返回 False.

7

expandtabs(tabsize=8)

把字串 string 中的 tab 符號轉為空格,tab 符號預設的空格數是 8 。
8

find(str, beg=0 end=len(string))

檢測 str 是否包含在字串中 中,如果 beg 和 end 指定範圍,則檢查是否包含在指定範圍內,如果是返回開始的索引值,否則返回-1
9

index(str, beg=0, end=len(string))

跟find()方法一樣,只不過如果str不在字串中會報一個異常.
10

isalnum()

如果字串至少有一個字元並且所有字元都是字母或數字則返 回 True,否則返回 False
11

isalpha()

如果字串至少有一個字元並且所有字元都是字母則返回 True, 否則返回 False
12

isdigit()

如果字串只包含數字則返回 True 否則返回 False..
13

islower()

如果字串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是小寫,則返回 True,否則返回 False
14

isnumeric()

如果字串中只包含數字字元,則返回 True,否則返回 False
15

isspace()

如果字串中只包含空格,則返回 True,否則返回 False.
16

istitle()

如果字串是標題化的(見 title())則返回 True,否則返回 False
17

isupper()

如果字串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是大寫,則返回 True,否則返回 False
18

join(seq)

以指定字串作為分隔符,將 seq 中所有的元素(的字串表示)合併為一個新的字串
19

len(string)

返回字串長度
20

ljust(width[, fillchar])

返回一個原字串左對齊,並使用 fillchar 填充至長度 width 的新字串,fillchar 預設為空格。
21

lower()

轉換字串中所有大寫字元為小寫.
22

lstrip()

截掉字串左邊的空格
23

maketrans()

建立字元對映的轉換表,對於接受兩個引數的最簡單的呼叫方式,第一個引數是字串,表示需要轉換的字元,第二個引數也是字串表示轉換的目標。
24

max(str)

返回字串 str 中最大的字母。
25

min(str)

返回字串 str 中最小的字母。
26

replace(old, new [, max])

把 將字串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。
27

rfind(str, beg=0,end=len(string))

類似於 find()函式,不過是從右邊開始查詢.
28

rindex( str, beg=0, end=len(string))

類似於 index(),不過是從右邊開始.
29

rjust(width,[, fillchar])

返回一個原字串右對齊,並使用fillchar(預設空格)填充至長度 width 的新字串
30

rstrip()

刪除字串字串末尾的空格.
31

split(str="", num=string.count(str))

num=string.count(str)) 以 str 為分隔符擷取字串,如果 num 有指定值,則僅擷取 num 個子字串
32

splitlines( num=string.count('\n'))

按照行分隔,返回一個包含各行作為元素的列表,如果 num 指定則僅切片 num 個行.
33

startswith(str, beg=0,end=len(string))

檢查字串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查。
34

strip([chars])

在字串上執行 lstrip()和 rstrip()
35

swapcase()

將字串中大寫轉換為小寫,小寫轉換為大寫
36

title()

返回"標題化"的字串,就是說所有單詞都是以大寫開始,其餘字母均為小寫(見 istitle())
37

translate(table, deletechars="")

根據 str 給出的表(包含 256 個字元)轉換 string 的字元, 要過濾掉的字元放到 deletechars 引數中
38

upper()

轉換字串中的小寫字母為大寫
39

zfill (width)

返回長度為 width 的字串,原字串右對齊,前面填充0
40

isdecimal()

檢查字串是否只包含十進位制字元,如果是返回 true,否則返回 false。

Python3列表

序列是Python中最基本的資料結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。

Python有6個序列的內建型別,但最常見的是列表和元組。

序列都可以進行的操作包括索引,切片,加,乘,檢查成員。

此外,Python已經內建確定序列的長度以及確定最大和最小的元素的方法。

列表是最常用的Python資料型別,它可以作為一個方括號內的逗號分隔值出現。

Python內建的一種資料型別是列表:list。list是一種有序的集合,可以隨時新增和刪除其中的元素。

列表的資料項不需要具有相同的型別

定義:[]內以逗號分隔,按照索引,存放各種資料型別,每個位置代表一個元素 
特性:
1.可存放多個值
2.可修改指定索引位置對應的值,可變
3.按照從左到右的順序定義列表元素,下標從0開始順序訪問,有序

基本操作:

  • 索引
  • 切片
  • 追加
  • 刪除
  • 長度
  • 切片
  • 迴圈
  • 包含
+ View Code

建立一個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。如下所示:

1 2 3 list1=['Google','Runoob',1997,2000]; list2=[1,2,3,4,5]; list3=["a","b","c","d"];

與字串的索引一樣,列表索引從0開始。列表可以進行擷取、組合等。

訪問列表中的值

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

1 2 3 4 5 6 7 #!/usr/bin/python3 list1=['Google','Runoob',1997,2000]; list2=[1,2,3,4,5,6,7]; print("list1[0]: ", list1[0]) print("list2[1:5]: ", list2[1:5])

以上例項輸出結果:

1 2 list1[0]: Google list2[1:5]: [2,3,4,5]

更新列表

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

1 2 3 4 5 6 7 #!/usr/bin/python3 list=['Google','Runoob',1997,2000] print("第三個元素為 : ",list[2]) list[2]=2001 print("更新後的第三個元素為 : ",list[2])

注意:我們會在接下來的章節討論append()方法的使用

以上例項輸出結果:

1 2 第三個元素為 :1997 更新後的第三個元素為 :2001

刪除列表元素

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

1 2 3 4 5 6 7 #!/usr/bin/python3 list=['Google','Runoob',1997,2000] print(list) dellist[2] print("刪除第三個元素 : ",list)

以上例項輸出結果:

1 刪除第三個元素 : ['Google','Runoob',2000]

注意:我們會在接下來的章節討論remove()方法的使用


Python列表指令碼操作符

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

如下所示:

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 迭代

Python列表擷取與拼接

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

1 L=['Google','Runoob','Taobao']

操作:

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

列表還支援拼接操作:

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

巢狀列表

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

1 2 3 4 5 6 7 8 9 >>> 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列表函式&方法

Python包含以下函式:

序號函式
1 len(list)列表元素個數
2 max(list)返回列表元素最大值
3 min(list)返回列表元素最小值
4 list(seq)將元組轉換為列表

Python包含以下方法:

序號方法
1 list.append(obj)在列表末尾新增新的物件
2 list.count(obj)統計某個元素在列表中出現的次數
3 list.extend(seq)在列表末尾一次性追加另一個序列中的多個值(用新列表擴充套件原來的列表)
4 list.index(obj)從列表中找出某個值第一個匹配項的索引位置
5 list.insert(index, obj)將物件插入列表
6 list.pop(obj=list[-1])移除列表中的一個元素(預設最後一個元素),並且返回該元素的值
7 list.remove(obj)移除列表中某個值的第一個匹配項
8 list.reverse()反向列表中元素
9 list.sort([func])對原列表進行排序
10 list.clear()清空列表
11 list.copy()複製列表