Python中常見的公共方法


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 在對 字典 操作時,判斷的是 字典的鍵

  • innot 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM