#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...