1. 程式人生 > >Python 列表 元組 表示式

Python 列表 元組 表示式

列表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  邏輯運算子