Python基礎第二課
github博客傳送門
csdn博客傳送門
數據結構 列表list 元組tuple 集合set 字典dict
運算 運算符 控制流語句(if while for break continue)
數據結構
列表(list)
我們創建一個列表list用於存放HELLO:
list=[‘H‘,‘E‘,‘L‘,‘L‘,‘O‘]
他的 下標/索引 如圖所示:
如果我們要訪問list裏的元素可以這樣訪問:
# 查詢元素 直接訪問列表的 下標/索引 print (list[0]) # 輸出 H print (list[1]) # 輸出 E print (list[2]) # 輸出第一個 L print (list[3]) # 輸出第二個 L print (list[4]) # 輸出 O print (list[5]) # !註意這裏會報錯,因為總共只有五個元素。
如果我們要在list裏添加元素:
# 增加元素 append() list.append(‘需要增加的內容‘) # 現在列表裏的元素是[‘H‘,‘E‘,‘L‘,‘L‘,‘O‘,‘需要增加的內容‘] list.append(‘W‘) # 增加了 W list.append(‘O‘) # 增加了 O list.append(‘R‘) # 增加了 R list.append(‘L‘) # 增加了 L list.append(‘D‘) # 增加了 D print (list) # 輸出:[‘H‘,‘E‘,‘L‘,‘L‘,‘O‘,‘需要增加的內容‘,‘W‘,‘O‘,‘R‘,‘L‘,‘D‘]
大家可能發現了append是將元素添加到list末尾
接下來我們學習一個我們可以將元素放到任何位置的方法:
# 插入元素 insert()
list.insert(5,‘我在需要增加的內容前面‘) # 在下標為5的位置插入了 ‘我在需要增加的內容前面‘
print (list) # 輸出:[‘H‘,‘E‘,‘L‘,‘L‘,‘O‘,‘我在需要增加的內容前面‘,‘需要增加的內容‘,‘W‘,‘O‘,‘R‘,‘L‘,‘D‘]
# insert的其他特性自行測試
接下來我們學習如何修改一個元素:
# 修改元素 訪問元素的 下標/索引 並賦值 list[5] = ‘稍會刪除我,我的下標是5‘ # 將下標為 5 的元素修改為 ‘稍會刪除我,我的下標是5‘ list[6] = ‘稍會刪除我,我的下標是6‘ # 將下標為 6 的元素修改為 ‘稍會刪除我,我的下標是6‘ print (list) # 輸出:[‘H‘,‘E‘,‘L‘,‘L‘,‘O‘,‘稍會刪除我,我的下標是5‘,‘稍會刪除我,我的下標是6‘,‘W‘,‘O‘,‘R‘,‘L‘,‘D‘]
接下來我們學習根據 下標/索引 刪除一個元素:
# 刪除元素 del語句 條件是知道索引
del list[5] # 刪除了下標是 5 的元素
del list[6] # 刪除了下標是 6 的元素
print (list) # 輸出:[‘H‘,‘E‘,‘L‘,‘L‘,‘O‘,‘W‘,‘O‘,‘R‘,‘L‘,‘D‘]
接下來我們學習根據值刪除一個元素:
# 刪除元素 remove()
list.remove(‘H‘) # 刪除了值為‘H‘的元素
list.remove(‘E‘) # 刪除了值為‘E‘的元素
list.remove(‘L‘) # 刪除了值為‘L‘的元素
list.remove(‘L‘) # 刪除了值為‘L‘的元素
list.remove(‘O‘) # 刪除了值為‘O‘的元素
print (list) # 輸出:[‘W‘,‘O‘,‘R‘,‘L‘,‘D‘]
列表的最後我們學習一下怎樣求一個列表的長度:
# 求列表的長度 len()
print len(list) # 輸出 5 因為有5個元素 W O R L D 所以輸出 5
元組(tuple)
Python的元組與列表類似,不同之處在於元組不能 添加 刪除 修改。
# 嘗試修改元組
# 我們先創建一個元組
num = (66,88) # 創建了一個元組 有兩個元素 66 和 88
# 嘗試添加
num.append(11) # 嘗試添加元組元素 11 會報錯 不能添加
# 嘗試刪除
del num[0] # 嘗試刪除元組元素 下標/索引 為0的元素 會報錯 不能刪除
# 嘗試修改
num[0] = 1 # 嘗試修改元組 下標/索引為0的元素的值為 1 會報錯 修改不成功
正確的修改元組方式就是重新賦值給存放元組的變量:
如果你想要修改元組:
# 我們先創建一個元組
num = (66,88) # 創建了一個元組 有兩個元素 66 和 88
print (num) # 輸出: (66,88)
# 修改元組 只能重新給 元組的變量重新賦值
num = (11,22,33,44) # 重新給變量 num 賦值了一個新的元組值
print (num) # 輸出: (11,22,33,44)
查詢元組
# 我們先創建一個元組
num = (66,88) # 創建了一個元組 有兩個元素 66 和 88
print (num[0]) # 輸出: 66
print (num[1]) # 輸出: 88
# 和列表的查詢方式一致
集合(set)
集合(set)是一個無序不重復元素的序列
主要作用:
一、去重,把一個列表變成集合,就自動去重了。
二、關系測試,測試兩組數據之間的交集,差集,並集等關系。
# 我們先創建個集合
set1 = set(‘aabcde‘)
set2 = set(‘cdefgg‘)
print (set1) # 輸出:set([‘a‘, ‘c‘, ‘b‘, ‘e‘, ‘d‘]) 隨機無序列 並且去重 a
print (set2) # 輸出:set([‘c‘, ‘e‘, ‘d‘, ‘g‘, ‘f‘]) 隨機無序列 並且去重 g
# 也可以這樣創建集合 註!不能用第二種方法創建空集合
set3 = {‘tom‘, ‘jim‘, ‘Mary‘}
set4 = {‘tom‘, ‘jack‘, ‘rose‘}
print (set3) # 輸出:set([‘jim‘, ‘Mary‘, ‘tom‘]) 隨機無序列
print (set4) # 輸出:set([‘rose‘, ‘jack‘, ‘tom‘]) 隨機無序列
計算 set1 和 set2 集合的 差集 並集 交集 異或集
print (set1 - set2) # 差集輸出:set([‘a‘, ‘b‘])
print (set2 - set1) # 差集輸出:set([‘g‘, ‘f‘])
print (set1 | set2) # 並集輸出:set([‘a‘, ‘c‘, ‘b‘, ‘e‘, ‘d‘, ‘g‘, ‘f‘])
print (set1 & set2) # 交集輸出:set([‘c‘, ‘e‘, ‘d‘])
print (set1 ^ set2) # 異或集輸出:set([‘a‘, ‘b‘, ‘g‘, ‘f‘])
集合常用操作
s = set([1,2,3,4]) # 創建一個數值集合
t = set(‘hello‘) # 創建一個唯一字符的集合
t.add(‘x‘) # 添加一個元素
s.update([10,22,33]) # 在 s 集合中添加多項
t.remove(‘h‘) # 刪除一個元素
len(s) # 集合的長度
字典(dict)
在Python中,字典是一系列鍵值對.每個鍵都與一個值相關聯,你可以使用鍵來訪問與之相關的值.與鍵相關聯的值可以是數字,字符串,列表乃至字典.事實上,可以將任何Python對象用作字典中的值.
在Python中,字典用放在花括號{}中的一系列 鍵:值 對表示.例:
dict1 = {‘姓名‘:‘張三‘,‘性別‘:‘男‘,‘年齡‘:18} # 創建好了一個字典
# 訪問字典的值 可以依次指定字典名和放在方括號內的鍵 如:
print (dict1[‘姓名‘]) # 輸出: 張三
print (dict1[‘性別‘]) # 輸出: 男
print (dict1[‘年齡‘]) # 輸出: 18
print dict1 # 輸出: 姓名:張三, 性別:男, 年齡:18
添加 鍵:值對 的方法.
# 添加 鍵:值
dict1[‘學校‘] = ‘北大‘
print dict1 # 輸出: 姓名:張三, 性別:男, 年齡:18, 學校:北大
刪除 鍵:值對 的方法
# 刪除 鍵:值 del 字典名[‘鍵的值‘] 例:
del dict1[‘學校‘]
print dict1 # 輸出: 姓名:張三, 性別:男, 年齡:18
創建一個空的字典
dict2 = {} # 創建了一個空的字典
dict2[‘張三‘:60] # 添加了一對 鍵:值對
dict2[‘color‘:‘blue‘] # 添加了一對 鍵:值對
Python中的運算符
算數運算符
print (4+7) # 輸出: 11 兩數之和
print (4-7) # 輸出: -3 兩數之差
print (7-4) # 輸出: 3 兩數之差
print (4*7) # 輸出: 28 兩數之積
print (4**7) # 輸出: 16384 求4的7次方
print (4/7) # 輸出: 0.42857... 求商
print (4/7) # 輸出: 2.33333... 求商
print (9%4) # 輸出: 1 取余 取余數
print (7%4) # 輸出: 3 取余 取余數
print (4//7) # 輸出: 0 取整 取整數
print (7//4) # 輸出: 1 取整 取整數
比較運算符
==, >, <, >=, <=, !=
== # 判斷 == 兩邊是否相等 相等返回True 否則返回Flase
> # 判斷 > 左邊 是否大於 右邊 大於返回True 否則返回Flase
< # 判斷 < 左邊 是否小於 右邊 小於返回True 否則返回Flase
>= # 判斷 >= 左邊 是否大於等於 右邊 大於等於返回True 否則返回Flase
<= # 判斷 <= 左邊 是否小於等於 右邊 小於等於返回True 否則返回Flase
!= # 判斷 != 左邊 是否不等於 右邊 不等於返回True 否則返回Flase
賦值運算符
=, +=, -=, *=, **=, /=, %=, //=
= # 將 = 右邊 的值賦給 左邊 的變量 例:
a = 4 # 給變量 a 賦值 4
print (a) # 打印 a 將輸出: 4
+= # 將 += 兩邊的 值相加 再賦給左邊的變量
b = 4 # 給變量 b 賦值 4
b += 2 # 相當於 b = b + 2 即輸出: 6
-= # 將 -= 左邊的值 減去右邊的值 再賦給左邊的變量
c = 4 # 給變量 c 賦值 4
c -= 1 # 相當於 c = c - 1 即輸出: 3
*= # 同理上面的 加減賦值運算符 自行測試
/= # 同理上面的 加減賦值運算符 自行測試
%= # 同理上面的 加減賦值運算符 自行測試
//= # 同理上面的 加減賦值運算符 自行測試
邏輯運算符
and # 與
or # 或
位運算符
& # 與
| # 或
^ # 異或
Python表達式和語句
if控制流 判斷語句
if
# 例:
sex = ‘男‘
if sex == ‘男‘: # 如果性別為 男 則輸出 進男廁所
print (‘進男廁所‘)
# 無論前面判斷是否正確 程序結束這句始終執行
print (‘程序結束‘)
執行結果
進男廁所
程序結束
if else
# 例:
sex = ‘女‘
if sex == ‘男‘: # 如果性別為 男 則輸出進入男廁所
print (‘進男廁所‘)
else: # 否則進入女廁所
print (‘進女廁所‘)
# 無論前面判斷是否正確 程序結束這句始終執行
print (‘程序結束‘)
執行結果
進女廁所
程序結束
if elif elif else
# 例:
sex = ‘小孩‘
if sex == ‘男‘:
print (‘進男廁所‘)
elif sex == ‘女‘:
print (‘進女廁所‘)
else:
print (‘性別錯誤‘)
# 無論前面判斷是否正確 程序結束這句始終執行
print (‘程序結束‘)
執行結果
性別錯誤
程序結束
while控制流 循環語句
# 例:
flag = 3
while flag > 0:
print (‘hello‘)
flag -= 1
print (‘循環結束‘)
執行結果
hello
hello
hello
循環結束
for控制流 循環語句
使用for來遍歷序列:
格式:
for 變量 in 序列:
# 例:
num = [1,2,3,4,5,6,7]
for i in num:
print (i)
print (‘循環結束‘)
執行結果
1
2
3
4
5
6
7
循環結束
break 跳出循環語句
break語句用來終止所在的循環語句
# 例:
for x in [‘A‘, ‘B‘, ‘C‘]:
for y in [‘1‘, ‘2‘, ‘3‘]:
print (x+y)
break
執行結果
A1
B1
C1
continue 跳出循環語句
continue語句用來跳出所在循環體的本次循環
# 例:
for x in [‘A‘, ‘B‘, ‘C‘]:
for y in [‘1‘, ‘2‘, ‘3‘]:
if x == ‘B‘:
continue
print (x+y)
執行結果
A1
A2
A3
C1
C2
C3
Python基礎第二課