Python 資料型別

2021-09-05 11:17:35 字數 3581 閱讀 9413

#demo 布林型別舉例

b = 100 < 101

print (b)

表示式b = 100 < 101 稱為布林表示式,變數b就是布林型別變數。

比較運算子: <  、 > 、  <= 、  >= 、  == 、 !=

邏輯運算子: not and or

not 取反;and 與運算(同真才為真);or 或運算(同假才為假)

注:a. 優先順序。在只有or和and的情況下,從左往右依次運算。當表示式中出現not,在沒有括號的情況下,需先對not後的變數取反,然後再做其他運算。例如:a = false,b = true,a or not b的結果為false; not (a and b)的結果為true。

b.狄摩根定律。not (a and b) 相當於 not a or not b ; not (a or b) 相當於 not a and not b。

列表就是多項資料組合而成的乙個資料結構,每一項資料稱為元素(element)。

宣告: 列表名  = [元素0,元素1,元素2,......,元素n]

內不包含任何元素,成為空列表。如:l =    或 l = [1,2,3]

列表中的元素可以是相同的資料型別,也可以是任意不同的資料型別,如整型,浮點型,字串型別, 甚至是列表本身。如: l = [1, 1.3, "2", "china", ["i", "am", "another", "list"]] 。

通過索引獲取元素,python中元素下標從0開始;len()函式可以獲取列表的長度;若獲取列表中的元素列表,如上面的例子,獲取元素「am」 ,即l[4][1] ;

(1)修改:通過索引值來修改相應位置上的數值,如 l[0] = 2

l = [1,1.3,"2","china",["i","am","another","list"]]

print (l)

#執行結果:l = [1,1.3,"2","china",["i","am","another","list",3]

其他方法:extend() 、insert() 、"+="等

(3)刪除:remove()函式, remove(x) 會刪除列表中第一次出現的x 。

#demo 列表remove方法

l = [1,1.3,"2","china",["i","am","another","list"]]

print (l)

#l.remove(3) 報錯

#執行結果:l = [1.3,"2","china",["i","am","another","list"]

使用remove並不需要知道元素的具體位置,只要知道列表中有這個元素即可;

判斷元素是否在列表中的方法為:成員關係操作符in

#demo 判斷元素是否在列表中

l = [1,1.3,"2","china",["i","am","another","list"]]

print ("china" in l) #輸出為true

print ("i" in l) #輸出為false

#第二個輸出為false,因為in只判斷元素是否在列表中,卻不會繼續判斷元素是否在子列表中,而"i"在子列表中,所以返回false; 修改為:

print ("i" in l[4])

not in 判斷某個元素是否不在序列中。

(4)分片:一次性獲取多個元素

l[index1:index2]  獲取索引範圍 index1到 (index2-1)的所有值

index2 <= index1 ,則分片結果為空表

index2 為空,則獲取從index1開始往後的所有值

index1為空,則獲取從列表第乙個元素到index2 - 1位置的所有值

index1 和 index2 都為空,則獲取整個列表,相當於複製列表,同l[0 : len(l)]  l[: len(l)]  l[0:]  l[:]

l[index1:index2:stride]   stride表示步長,如l[::2]  結果為 l[0]、l[2]、l[4]  ;stride預設為1,不能為0,可以為負值,為負值表示從右向左提取元素

注意:分片操作是產生新的列表,不會改變原有列表。

連線(+):將兩個列表合併成新的列表 ,如:l1 = [1,2,3] l2 = [3,4,5] l1 + l2的結果為 [1,2,3,3,4,5]

複製(*):對於列表而言,操作符 * 表示將原列表重複複製多次。如:l = [0] * 100表示將列表[0]複製100次,這會產生乙個含有100個0的列表。

#demo 解二維線性方程組

#列表a = [[a0,b0],[a1,b1]] 表示a0 * x + b0 * y = c0, a1 * x + b1 * y = c1的係數,c = [c0,c1]表示等式結果

#求解 2x + y = 4,3x -2y = -1

a = [[2,1],[3,-2]]

b = [4,-1]

if a[0][0] == 0:

y = b[0] / a[0][1]

x = (b[1] - a[1][1] * y) / a[1][0]

elif a[1][0] == 0:

y = b[1] / a[1][1]

x = (b[0] - a[0][1] * y) / a[0][0]

else:

b = a[0][1] * a[1][0] - a[1][1] * a[0][0]

c = b[0] * a[1][0] - b[1] * a[0][0]

if((b == 0) and (c == 0)): print ("infinite solution")

elif(b == 0): print ("no solution")

y = c / b

x = (b[0] - a[0][1] * y) / a[0][0]

print ("x = ",x,"y = ",y)

也是一種序列,可以通過索引獲取元素。

建立字串,在字元兩邊加上單引號或雙引號,字串和列表類似,索引和分片都可以使用, 運算子"+"、 "*"、 in 、 not in都可以使用。

數值轉化為字串型別,使用函式str()

字串轉化為數值,int() 、 float() 

#轉換

p = 123.45

s = str(p) #s = "123.45"

str = "123"

int(str) # 123

float(str) # 123.0

str = "123.45"

float(str) # 123.45

int(str) # 報錯

list()函式   ,將每個字元作為乙個元素儲存在列表中, 如 str = "123, 45" ;list(str) 返回結果 ['1','2','3',','' ','4','5'] ,逗號和空格都算字元;

split()函式 分隔  ,如 l = str.split(",")    返回結果 l 為 ["123"," 45"]

將l轉化為純整型列表  l = [int(e) for e in l] 結果為 l = [123, 45]

python資料型別

python的資料型別 數字 字串 列表 元祖 字典 檢視型別可以使用type函式如 type abc 數字 整型 長整型 浮點型 複數 字串 單引號 雙引號 3引號 a abcde a 1 b a 2 3 c a 2 4 cd a 2 cde a 2 ace a 1 e a 3 2 c a abc...

python 資料型別

python有五個標準的資料型別 使用del可以刪除資料的引用 例,one 100 del one del 也可以同時刪除多個引用 變數。例del one,two,three print one 將提示one 沒有定義 python支援四種不同的數值型別 python的字串列表有2種取值順序 加號 ...

Python 資料型別

一 整數 python可以處理任意大小的整數,當然包括負整數,在python程式中,整數的表示方法和數學上的寫法一模一樣,例如 1,100,8080,0,等等。計算機由於使用二進位制,所以,有時候用十六進製制表示整數比較方便,十六進製製用0x字首和0 9,a f表示,例如 0xff00,0xa5b4...