Python 列表 元組 表示式
阿新 • • 發佈:2018-12-31
列表list的常用方法
-增:+,append,insert,extend
-刪:del,clear,pop,remove
-改:直接用索引
-查:count,index
-其他:copy,reverse,sort,切片
增
+
a = ["hi"]
b = [1,2,3]
c = a + b
print(c) #[1,2,3,`hi`]
append
-在列表末尾新增一個元素,一次只能新增一次,ID不變
a = [1,3,"sdf"]
a.append("df")
print(a) #[1,3,`sdf`,`df`]
insert
-指定列表索引插入一個元素 a = [2,4,"df","rg"] a.insert(1,34) print(a) #[2,34,4,"df","rg"] -如果索引大於列表長度,則新增到列表末尾
extend
-對列表進行擴充套件,即對原列表新增一個列表或字串
a = [2,3,"sd"]
b = ["df",4]
a.extend(b)
print(a) #[2,3,`sd`,`df`,4]
a.extend("asd")
print(a) #[2,3,`sd`,`df`,4,`a`,`s`,`d`]
刪
del
-del是Python內建方法,不只是列表當中的方法
-刪除列表中指定索引元素或者整個列表
a = [2,4,"df"]
del a[1]
print(a) #[2,`df`]
del a
print(a) #報錯,a不存在
clear
-清空列表中的元素
a = [2,3,4]
a.clear()
print(a) #[]
pop
-彈出指定索引元素,預設彈出最後一個元素
a = [2,3,"sd"]
a.pop(0)
print(a) #[3,`sd`]
a.pop()
print(a) #[3]
remove
-直接移除指定元素,如果該元素有多個,則只移除從左向右的第一個該元素
a = [3,2,"df",3]
a.remove(3)
print(a) #[2,"df",3]
改
-按索引進行元素更改 a = [1,2,3,4] a[2] = 5 print a #[1,2,5,4]
查
count
-統計元素在列表中出現的次數
a = [1,2,4,2,5,6]
b = a.count(2)
print(b) #2
index
-查元素的索引
a = [2,4,3,1,5,6,3]
b = a.index(3)
c = a.index(3,1)
d = a.index(3,3,6)
print(b) #2 預設從0索引開始到末尾第一個3位置的索引是2
print(c) #2 從1索引開始到末尾第一個3位置的索引是2
print(d) #6 從3索引開始到6索引第一個3位置的索引是6
其他
in 判斷元素是否在列表中
a = [1,2,3,4]
2 in a #true
copy 複製列表
a = [1,2,3]
b = a
c = a.copy()
id(b) = id(a) #b的id等於a的id
id(c) !=id(a) #c的id不等於a的id
reverse 把列表裡的元素位置完全顛倒
a = [1,2,3]
a,reverse()
a = [3,2,1]
sort
-把列表裡元素按ASCII表從小到大排序
-只能同類型元素排序,字母和數字無法排序
a = [3,2,5,1]
a.sort()
a = [1,2,3,5]
b = ["g",E,"a"]
b.sort()
a =["E","a","g"]
元組
count
-統計元素在元組中出現的次數
a = (1,2,4,2,5,6)
b = a.count(2)
print(b) #2
index
-查元素的索引
a = (2,4,3,1,5,6,3)
b = a.index(3)
c = a.index(3,1)
d = a.index(3,3,6)
print(b) #2 預設從0索引開始到末尾第一個3位置的索引是2
print(c) #2 從1索引開始到末尾第一個3位置的索引是2
print(d) #6 從3索引開始到6索引第一個3位置的索引是6
表示式
-由一個或者幾個數字或者變數和運算子組合成的一行程式碼
-通常會返回一個結果
運算子
-由一個以上的值經過變化得到新值的過程就叫運算
-用於運算的符號就叫運算子
運算子分類
-算術運算子
-比較或者關係運算符
-賦值運算子
-邏輯運算子
-位運算
- 身份運算子
- 成員運算
算術運算子
-進行算術運算的符號
- python沒有自增自減運算子
- +,-,*,/和正常算術運算子一樣
%是取餘運算子,取兩個數字相除所得的餘數
a = 9 % 4
print(a) #1
//表示取商運算,也叫地板除
a = 9 // 4
print(a) #2
**表示冪運算
a = 9 ** 2
print(a) #81
比較運算子
- 對兩個變數或者值進行比較的運算子
- 比較的結果是布林值,即true或false
== 等於號
a = 3 ** 4
b = a == 80
print(b) #false 執行順序是 1 計算3的四次冪 2 判斷a是否等於80 3 把判斷結果賦值給b
!= 不等於號
print(4 != 5) #true
> 大於
< 小於
>= 大於等於
<= 小於等於
賦值運算子 =
a = 1
b = c = 3
a += 1 #a = a + 1 同理 -= ,*=,/=.//=,%=,**=
邏輯運算子
- 對布林值進行計算的符號
- and 邏輯與
- or 邏輯或
- not 邏輯非
- Python中邏輯運算沒有異或運算
運算規則
- and看做乘法,or看做加法
- true看做1,false看做0
- 則邏輯運算就能轉換成整數數學運算
- 最後結果是0則為false,1則為true
a = true
b = false
c = true
d = a and b or c #d = 1 * 0 + 1
print(d) #1
邏輯運算的短路問題:
- 邏輯運算式,按照運算順序計算,一旦能夠確定整個式子未來的值,則不再計算,直接返回
a = true or ....... #a的值一定是true,則執行到or的時候,整個表示式不再向下計算
身份運算
- is:用來檢測兩個變數是否是同一變數
- is not:兩個變數不是同一變數
a = 4
b = 4
print(a is b) #true
運算子優先順序
- 括號內具有最高優先順序
- 優先順序表格
** 指數 (最高優先順序)
~ + - 按位翻轉, 一元加號和減號 (最後兩個的方法名為 [email protected] 和 [email protected])
* / % // 乘,除,取模和取整除
+ - 加法減法
>> << 右移,左移運算子
& 位 'AND'
^ | 位運算子
<= < > >= 比較運算子
<> == != 等於運算子
= %= /= //= -= += *= **= 賦值運算子
is is not 身份運算子
in not in 成員運算子
not and or 邏輯運算子