Python 數字、字符串、列表、元祖、字典、集合
一.數字
Python 支持三種不同的數值類型:
- 整型(Int) :整數無大小限制。(Python3.x),也可用十六進制或八進制表示。
- 浮點型(float) :也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)
- 復數( (complex)): a + bj,或者complex(a,b)表示, 復數的實部a和虛部b都是浮點型。
數字類型轉換:
-
int(x) 將x轉換為一個整數。
-
float(x) 將x轉換到一個浮點數。
-
complex(x) 將x轉換到一個復數,實數部分為 x,虛數部分為 0。
-
complex(x, y) 將 x 和 y 轉換到一個復數,實數部分為 x,虛數部分為 y。x 和 y 是數字表達式。
數值計算:
>>> 17 / 3 # 整數除法返回浮點型 5.666666666666667 >>> >>> 17 // 3 # 整數除法返回向下取整後的結果 5 >>> 17 % 3 # %操作符返回除法的余數 2 >>> 5 ** 2 # 5 的平方 25
數學函數:
函數 | 返回值 ( 描述 ) |
---|---|
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]範圍內。 |
三角函數:
函數 | 描述 | |
---|---|---|
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 中轉義字符:
轉義字符 | 描述 |
---|---|
\(在行尾時) | 續行符 |
\\ | 反斜杠符號 |
\‘ | 單引號 |
\" | 雙引號 |
\a | 響鈴 |
\b | 退格(Backspace) |
\e | 轉義 |
\000 | 空 |
\n | 換行 |
\v | 縱向制表符 |
\t | 橫向制表符 |
\r | 回車 |
\f | 換頁 |
\oyy | 八進制數,yy代表的字符,例如:\o12代表換行 |
\xyy | 十六進制數,yy代表的字符,例如:\x0a代表換行 |
\other | 其它的字符以普通格式輸出 |
字符串內建函數:
序號 | 方法及描述 |
---|---|
1 |
capitalize() |
2 |
center(width, fillchar) 返回一個指定的寬度 width 居中的字符串,fillchar 為填充的字符,默認為空格。 |
3 |
count(str, beg= 0,end=len(string)) 返回 str 在 string 裏面出現的次數,如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數 |
4 |
bytes.decode(encoding="utf-8", errors="strict") Python3 中沒有 decode 方法,但我們可以使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象,這個 bytes 對象可以由 str.encode() 來編碼返回。 |
5 |
encode(encoding=‘UTF-8‘,errors=‘strict‘) 以 encoding 指定的編碼格式編碼字符串,如果出錯默認報一個ValueError 的異常,除非 errors 指定的是‘ignore‘或者‘replace‘ |
6 |
endswith(suffix, beg=0, end=len(string)) |
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([keepends]) 按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。 |
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。 |
三.列表
常用操作列表的函數:
序號 | 函數 |
---|---|
1 | len(list) 列表元素個數 |
2 | max(list) 返回列表元素最大值 |
3 | min(list) 返回列表元素最小值 |
4 | list(seq) 將元組轉換為列表 |
常用操作列表的方法:
序號 | 方法 |
---|---|
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() 復制列表 |
四.元祖
Python 的元組與列表類似,不同之處在於元組的元素不能修改。
元組使用小括號,列表使用方括號。
t1 = (1,) # 單個元素的元祖 t2 = () # 空元祖
五.字典
字典的內置函數:
序號 | 函數及描述 |
---|---|
1 | radiansdict.clear() 刪除字典內所有元素 |
2 | radiansdict.copy() 返回一個字典的淺復制 |
3 | radiansdict.fromkeys() 創建一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值 |
4 | radiansdict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回default值 |
5 | key in dict 如果鍵在字典dict裏返回true,否則返回false |
6 | radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組數組 |
7 | radiansdict.keys() 以列表返回一個字典所有的鍵 |
8 | radiansdict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在於字典中,將會添加鍵並將值設為default |
9 | radiansdict.update(dict2) 把字典dict2的鍵/值對更新到dict裏 |
10 | radiansdict.values() 以列表返回字典中的所有值 |
11 | pop(key[,default]) 刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。 |
12 | popitem() 隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對)。 |
六.集合
Python 數字、字符串、列表、元祖、字典、集合