1. 程式人生 > >Python基礎第二課

Python基礎第二課

不成功 ros src amp 關系 發現 lis app img

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基礎第二課