1 Python 內置函數
Python 包含了以下內置函數:
函數 | 描述 | 備注 |
---|---|---|
len(item) | 計算容器中元素個數 | |
del(item) | 刪除變量 | del 有兩種方式 |
max(item) | 返回容器中元素最大值 | 如果是字典,只針對 key 比較 |
min(item) | 返回容器中元素最小值 | 如果是字典,只針對 key 比較 |
cmp(item1, item2) | 比較兩個值,-1 小於/0 相等/1 大於 | Python 3.x 取消了 cmp 函數 |
注意
-
字符串 比較符合以下規則: "0" < "A" < "a"
2 切片
描述 | Python 表達式 | 結果 | 支持的數據類型 |
---|---|---|---|
切片 | "0123456789"[::-2] | "97531" | 字符串、列表、元組 |
-
切片 使用 索引值 來限定范圍,從一個大的 字符串 中 切出 小的 字符串
-
列表 和 元組 都是 有序 的集合,都能夠 通過索引值 獲取到對應的數據
-
字典 是一個 無序 的集合,是使用 鍵值對 保存數據
3 運算符
運算符 | Python 表達式 | 結果 | 描述 | 支持的數據類型 |
---|---|---|---|---|
+ | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合並 | 字符串、列表、元組 |
* | ["Hi!"] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重復 | 字符串、列表、元組 |
in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元組、字典 |
not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元組、字典 |
> >= == < <= | (1, 2, 3) < (2, 2, 3) | True | 元素比較 | 字符串、列表、元組 |
注意
-
in
在對 字典 操作時,判斷的是 字典的鍵 -
in
和not in
被稱為 成員運算符
成員運算符
成員運算符用於 測試 序列中是否包含指定的 成員
運算符 | 描述 | 實例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否則返回 False | 3 in (1, 2, 3) 返回 True |
not in | 如果在指定的序列中沒有找到值返回 True,否則返回 False | 3 not in (1, 2, 3) 返回 False |
注意:在對 字典 操作時,判斷的是 字典的鍵
4 完整的 for 循環語法
-
在
Python
中完整的for 循環
的語法如下:
for 變量 in 集合: 循環體代碼 else: 沒有通過 break 退出循環,循環結束后,會執行的代碼
應用場景
-
在 迭代遍歷 嵌套的數據類型時,例如 一個列表包含了多個字典
-
需求:要判斷 某一個字典中 是否存在 指定的 值
-
如果 存在,提示並且退出循環
-
如果 不存在,在 循環整體結束 后,希望 得到一個統一的提示
-
students = [ {"name": "阿土", "age": 20, "gender": True, "height": 1.7, "weight": 75.0}, {"name": "小美", "age": 19, "gender": False, "height": 1.6, "weight": 45.0}, ] find_name = "阿土" for stu_dict in students: print(stu_dict) # 判斷當前遍歷的字典中姓名是否為find_name if stu_dict.get('name') == find_name: print("找到了") # 如果已經找到,直接退出循環,就不需要再對后續的數據進行比較 break else: print("沒有找到") print("循環結束")
Range
# range()是一個函數,可以用來生成一個自然數的序列 r = range(5) # 生成一個這樣的序列[0,1,2,3,4] r = range(0,10,2) r = range(10,0,-1) # 該函數需要三個參數 # 1.起始位置(可以省略,默認是0) # 2.結束位置 # 3.步長(可以省略,默認是1) # print(list(r)) # 通過range()可以創建一個執行指定次數的for循環 # for()循環除了創建方式以外,其余的都和while一樣, # 包括else、包括break continue都可以在for循環中使用 # 並且for循環使用也更加簡單 # 將之前使用while循環做的練習,再使用for循環完成一次! for i in range(30): print(i) # for s in 'hello': # print(s)
下面着重介紹一下切片
學完感覺類似java的截取
# 切片 # 切片指從現有列表中,獲取一個子列表 # 創建一個列表,一般創建列表時,變量的名字會使用復數 stus = ['孫悟空','豬八戒','沙和尚','唐僧','蜘蛛精','白骨精'] # 列表的索引可以是負數 # 如果索引是負數,則從后向前獲取元素,-1表示倒數第一個,-2表示倒數第二個 以此類推 print(stus[-2]) # 通過切片來獲取指定的元素 # 語法:列表[起始:結束] # 通過切片獲取元素時,會包括起始位置的元素,不會包括結束位置的元素 # 做切片操作時,總會返回一個新的列表,不會影響原來的列表 # 起始和結束位置的索引都可以省略不寫 # 如果省略結束位置,則會一直截取到最后 # 如果省略起始位置,則會從第一個元素開始截取 # 如果起始位置和結束位置全部省略,則相當於創建了一個列表的副本 print(stus[1:]) print(stus[:3]) print(stus[1:4]) print(stus[1:5:2]) print(stus) # 語法:列表[起始:結束:步長] # 步長表示,每次獲取元素的間隔,默認值是1 # print(stus[0:5:3]) # 步長不能是0,但是可以是負數 # print(stus[::0]) ValueError: slice step cannot be zero # 如果是負數,則會從列表的后部向前邊取元素 print(stus[::-1]) #字符串可以切片 str = 'hello' print(str) print(str[1:3])
E:\PyWorkSpace\venv\Scripts\python.exe E:/PyWorkSpace/venv/bbb.py 蜘蛛精 ['豬八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精'] ['孫悟空', '豬八戒', '沙和尚'] ['豬八戒', '沙和尚', '唐僧'] ['豬八戒', '唐僧'] ['孫悟空', '豬八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精'] ['白骨精', '蜘蛛精', '唐僧', '沙和尚', '豬八戒', '孫悟空'] hello el Process finished with exit code 0