免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
高級變量類型(列表,元組,字典,字符串,公共方法,變量高級)for循環(huán)
  • https://www.cnblogs.com/JcrLive/p/12235360.html

  • Python 中數(shù)據(jù)類型可以分為 數(shù)字型非數(shù)字型

  • 數(shù)字型

    • 整型 (int)
    • 浮點型(float
    • 布爾型(bool
      • True 非 0 數(shù) —— 非零即真
      • False 0
    • 復(fù)數(shù)型 (complex)
      • 主要用于科學(xué)計算,例如:平面場問題、波動問題、電感電容等問題
  • 非數(shù)字型

    • 字符串
    • 列表
    • 元組
    • 字典
  • Python 中,所有 非數(shù)字型變量 都支持以下特點:

    1. 都是一個 序列 sequence,也可以理解為 容器
    2. 取值 []
    3. 遍歷 for in
    4. 計算長度、最大/最小值比較、刪除
    5. 鏈接 +重復(fù) *
    6. 切片

01. 列表

1.1 列表的定義

  • List(列表) 是 Python 中使用 最頻繁 的數(shù)據(jù)類型,在其他語言中通常叫做 數(shù)組
  • 專門用于存儲 一串 信息
  • 列表用 [] 定義,數(shù)據(jù) 之間使用 , 分隔
  • 列表的 索引0 開始
    • 索引 就是數(shù)據(jù)在 列表 中的位置編號,索引 又可以被稱為 下標

注意:從列表中取值時,如果 超出索引范圍,程序會報錯

name_list = ["zhangsan", "lisi", "wangwu"]

1.2 列表常用操作

  • ipython3 中定義一個 列表,例如:name_list = []
  • 輸入 name_list. 按下 TAB 鍵,ipython 會提示 列表 能夠使用的 方法 如下:
In [1]: name_list.name_list.append   name_list.count    name_list.insert   name_list.reversename_list.clear    name_list.extend   name_list.pop      name_list.sortname_list.copy     name_list.index    name_list.remove 
序號分類關(guān)鍵字 / 函數(shù) / 方法說明
1增加列表.insert(索引, 數(shù)據(jù))在指定位置插入數(shù)據(jù)
列表.append(數(shù)據(jù))在末尾追加數(shù)據(jù)
列表.extend(列表2)將列表2 的數(shù)據(jù)追加到列表
2修改列表[索引] = 數(shù)據(jù)修改指定索引的數(shù)據(jù)
3刪除del 列表[索引]刪除指定索引的數(shù)據(jù)
列表.remove[數(shù)據(jù)]刪除第一個出現(xiàn)的指定數(shù)據(jù)
列表.pop刪除末尾數(shù)據(jù)
列表.pop(索引)刪除指定索引數(shù)據(jù)
列表.clear清空列表
4統(tǒng)計len(列表)列表長度
列表.count(數(shù)據(jù))數(shù)據(jù)在列表中出現(xiàn)的次數(shù)
5排序列表.sort()升序排序
列表.sort(reverse=True)降序排序
列表.reverse()逆序、反轉(zhuǎn)

del 關(guān)鍵字(科普)

  • 使用 del 關(guān)鍵字(delete) 同樣可以刪除列表中元素
  • del 關(guān)鍵字本質(zhì)上是用來 將一個變量從內(nèi)存中刪除的
  • 如果使用 del 關(guān)鍵字將變量從內(nèi)存中刪除,后續(xù)的代碼就不能再使用這個變量了
del name_list[1]

在日常開發(fā)中,要從列表刪除數(shù)據(jù),建議 使用列表提供的方法

關(guān)鍵字、函數(shù)和方法(科普)

  • 關(guān)鍵字 是 Python 內(nèi)置的、具有特殊意義的標識符
In [1]: import keywordIn [2]: print(keyword.kwlist)In [3]: print(len(keyword.kwlist))

關(guān)鍵字后面不需要使用括號

  • 函數(shù) 封裝了獨立功能,可以直接調(diào)用
函數(shù)名(參數(shù))

函數(shù)需要死記硬背

  • 方法 和函數(shù)類似,同樣是封裝了獨立的功能
  • 方法 需要通過 對象 來調(diào)用,表示針對這個 對象 要做的操作
對象.方法名(參數(shù))

在變量后面輸入 .,然后選擇針對這個變量要執(zhí)行的操作,記憶起來比函數(shù)要簡單很多

1.3 循環(huán)遍歷

  • 遍歷 就是 從頭到尾 依次列表 中獲取數(shù)據(jù)

    • 循環(huán)體內(nèi)部 針對 每一個元素,執(zhí)行相同的操作
  • Python 中為了提高列表的遍歷效率,專門提供的 迭代 iteration 遍歷

  • 使用 for 就能夠?qū)崿F(xiàn)迭代遍歷

# for 循環(huán)內(nèi)部使用的變量 in 列表for name in name_list:    循環(huán)內(nèi)部針對列表元素進行操作    print(name)

1.4 應(yīng)用場景

  • 盡管 Python列表 中可以 存儲不同類型的數(shù)據(jù)
  • 但是在開發(fā)中,更多的應(yīng)用場景是
    1. 列表 存儲相同類型的數(shù)據(jù)
    2. 通過 迭代遍歷,在循環(huán)體內(nèi)部,針對列表中的每一項元素,執(zhí)行相同的操作

02. 元組

2.1 元組的定義

  • Tuple(元組)與列表類似,不同之處在于元組的 元素不能修改
    • 元組 表示多個元素組成的序列
    • 元組Python 開發(fā)中,有特定的應(yīng)用場景
  • 用于存儲 一串 信息,數(shù)據(jù) 之間使用 , 分隔
  • 元組用 () 定義
  • 元組的 索引0 開始
    • 索引 就是數(shù)據(jù)在 元組 中的位置編號
info_tuple = ("zhangsan", 18, 1.75)

創(chuàng)建空元組

info_tuple = ()

元組中 只包含一個元素 時,需要 在元素后面添加逗號

info_tuple = (50, )

2.2 元組常用操作

  • ipython3 中定義一個 元組,例如:info = ()
  • 輸入 info. 按下 TAB 鍵,ipython 會提示 元組 能夠使用的函數(shù)如下:
info.count  info.index

有關(guān) 元組常用操作 可以參照上圖練習(xí)

2.3 循環(huán)遍歷

  • 取值 就是從 元組 中獲取存儲在指定位置的數(shù)據(jù)
  • 遍歷 就是 從頭到尾 依次元組 中獲取數(shù)據(jù)
# for 循環(huán)內(nèi)部使用的變量 in 元組for item in info:    循環(huán)內(nèi)部針對元組元素進行操作    print(item)
  • Python 中,可以使用 for 循環(huán)遍歷所有非數(shù)字型類型的變量:列表元組、字典 以及 字符串
  • 提示:在實際開發(fā)中,除非 能夠確認元組中的數(shù)據(jù)類型,否則針對元組的循環(huán)遍歷需求并不是很多

2.4 應(yīng)用場景

  • 盡管可以使用 for in 遍歷 元組
  • 但是在開發(fā)中,更多的應(yīng)用場景是:
    • 函數(shù)的 參數(shù) 和 返回值,一個函數(shù)可以接收 任意多個參數(shù),或者 一次返回多個數(shù)據(jù)
      • 有關(guān) 函數(shù)的參數(shù) 和 返回值,在后續(xù) 函數(shù)高級 給大家介紹
    • 格式字符串,格式化字符串后面的 () 本質(zhì)上就是一個元組
    • 讓列表不可以被修改,以保護數(shù)據(jù)安全
info = ("zhangsan", 18)print("%s 的年齡是 %d" % info)

元組和列表之間的轉(zhuǎn)換

  • 使用 list 函數(shù)可以把元組轉(zhuǎn)換成列表
list(元組) 
  • 使用 tuple 函數(shù)可以把列表轉(zhuǎn)換成元組
tuple(列表)

03. 字典

3.1 字典的定義

  • dictionary(字典) 是 除列表以外 Python 之中 最靈活 的數(shù)據(jù)類型
  • 字典同樣可以用來 存儲多個數(shù)據(jù)
    • 通常用于存儲 描述一個 物體 的相關(guān)信息
  • 和列表的區(qū)別
    • 列表有序 的對象集合
    • 字典無序 的對象集合
  • 字典用 {} 定義
  • 字典使用 鍵值對 存儲數(shù)據(jù),鍵值對之間使用 , 分隔
    • key 是索引
    • value 是數(shù)據(jù)
    • 之間使用 : 分隔
    • 鍵必須是唯一的
    • 可以取任何數(shù)據(jù)類型,但 只能使用 字符串、數(shù)字元組
xiaoming = {"name": "小明",            "age": 18,            "gender": True,            "height": 1.75}

3.2 字典常用操作

  • ipython3 中定義一個 字典,例如:xiaoming = {}
  • 輸入 xiaoming. 按下 TAB 鍵,ipython 會提示 字典 能夠使用的函數(shù)如下:
In [1]: xiaoming.xiaoming.clear       xiaoming.items       xiaoming.setdefaultxiaoming.copy        xiaoming.keys        xiaoming.updatexiaoming.fromkeys    xiaoming.pop         xiaoming.valuesxiaoming.get         xiaoming.popitem    

有關(guān) 字典常用操作 可以參照上圖練習(xí)

3.3 循環(huán)遍歷

  • 遍歷 就是 依次字典 中獲取所有鍵值對
# for 循環(huán)內(nèi)部使用的 `key 的變量` in 字典for k in xiaoming:    print("%s: %s" % (k, xiaoming[k]))

提示:在實際開發(fā)中,由于字典中每一個鍵值對保存數(shù)據(jù)的類型是不同的,所以針對字典的循環(huán)遍歷需求并不是很多

3.4 應(yīng)用場景

  • 盡管可以使用 for in 遍歷 字典
  • 但是在開發(fā)中,更多的應(yīng)用場景是:
    • 使用 多個鍵值對,存儲 描述一個 物體 的相關(guān)信息 —— 描述更復(fù)雜的數(shù)據(jù)信息
    • 多個字典 放在 一個列表 中,再進行遍歷,在循環(huán)體內(nèi)部針對每一個字典進行 相同的處理
card_list = [{"name": "張三",              "qq": "12345",              "phone": "110"},             {"name": "李四",              "qq": "54321",              "phone": "10086"}             ]

04. 字符串

4.1 字符串的定義

  • 字符串 就是 一串字符,是編程語言中表示文本的數(shù)據(jù)類型
  • 在 Python 中可以使用 一對雙引號 " 或者 一對單引號 ' 定義一個字符串
    • 雖然可以使用 \" 或者 \' 做字符串的轉(zhuǎn)義,但是在實際開發(fā)中:
      • 如果字符串內(nèi)部需要使用 ",可以使用 ' 定義字符串
      • 如果字符串內(nèi)部需要使用 ',可以使用 " 定義字符串
  • 可以使用 索引 獲取一個字符串中 指定位置的字符,索引計數(shù)從 0 開始
  • 也可以使用 for 循環(huán)遍歷 字符串中每一個字符

大多數(shù)編程語言都是用 " 來定義字符串

string = "Hello Python"for c in string:    print(c)

4.2 字符串的常用操作

  • ipython3 中定義一個 字符串,例如:hello_str = ""
  • 輸入 hello_str. 按下 TAB 鍵,ipython 會提示 字符串 能夠使用的 方法 如下:
In [1]: hello_str.hello_str.capitalize    hello_str.isidentifier  hello_str.rindexhello_str.casefold      hello_str.islower       hello_str.rjusthello_str.center        hello_str.isnumeric     hello_str.rpartitionhello_str.count         hello_str.isprintable   hello_str.rsplithello_str.encode        hello_str.isspace       hello_str.rstriphello_str.endswith      hello_str.istitle       hello_str.splithello_str.expandtabs    hello_str.isupper       hello_str.splitlineshello_str.find          hello_str.join          hello_str.startswithhello_str.format        hello_str.ljust         hello_str.striphello_str.format_map    hello_str.lower         hello_str.swapcasehello_str.index         hello_str.lstrip        hello_str.titlehello_str.isalnum       hello_str.maketrans     hello_str.translatehello_str.isalpha       hello_str.partition     hello_str.upperhello_str.isdecimal     hello_str.replace       hello_str.zfillhello_str.isdigit       hello_str.rfind

提示:正是因為 python 內(nèi)置提供的方法足夠多,才使得在開發(fā)時,能夠針對字符串進行更加靈活的操作!應(yīng)對更多的開發(fā)需求!

1) 判斷類型 - 9

方法說明
string.isspace()如果 string 中只包含空格,則返回 True
string.isalnum()如果 string 至少有一個字符并且所有字符都是字母或數(shù)字則返回 True
string.isalpha()如果 string 至少有一個字符并且所有字符都是字母則返回 True
string.isdecimal()如果 string 只包含數(shù)字則返回 True,全角數(shù)字
string.isdigit()如果 string 只包含數(shù)字則返回 True,全角數(shù)字、、\u00b2
string.isnumeric()如果 string 只包含數(shù)字則返回 True,全角數(shù)字,漢字數(shù)字
string.istitle()如果 string 是標題化的(每個單詞的首字母大寫)則返回 True
string.islower()如果 string 中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True
string.isupper()如果 string 中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回 True

2) 查找和替換 - 7

方法說明
string.startswith(str)檢查字符串是否是以 str 開頭,是則返回 True
string.endswith(str)檢查字符串是否是以 str 結(jié)束,是則返回 True
string.find(str, start=0, end=len(string))檢測 str 是否包含在 string 中,如果 start 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則返回 -1
string.rfind(str, start=0, end=len(string))類似于 find(),不過是從右邊開始查找
string.index(str, start=0, end=len(string))跟 find() 方法類似,不過如果 str 不在 string 會報錯
string.rindex(str, start=0, end=len(string))類似于 index(),不過是從右邊開始
string.replace(old_str, new_str, num=string.count(old))把 string 中的 old_str 替換成 new_str,如果 num 指定,則替換不超過 num 次

3) 大小寫轉(zhuǎn)換 - 5

方法說明
string.capitalize()把字符串的第一個字符大寫
string.title()把字符串的每個單詞首字母大寫
string.lower()轉(zhuǎn)換 string 中所有大寫字符為小寫
string.upper()轉(zhuǎn)換 string 中的小寫字母為大寫
string.swapcase()翻轉(zhuǎn) string 中的大小寫

4) 文本對齊 - 3

方法說明
string.ljust(width)返回一個原字符串左對齊,并使用空格填充至長度 width 的新字符串
string.rjust(width)返回一個原字符串右對齊,并使用空格填充至長度 width 的新字符串
string.center(width)返回一個原字符串居中,并使用空格填充至長度 width 的新字符串

5) 去除空白字符 - 3

方法說明
string.lstrip()截掉 string 左邊(開始)的空白字符
string.rstrip()截掉 string 右邊(末尾)的空白字符
string.strip()截掉 string 左右兩邊的空白字符

6) 拆分和連接 - 5

方法說明
string.partition(str)把字符串 string 分成一個 3 元素的元組 (str前面, str, str后面)
string.rpartition(str)類似于 partition() 方法,不過是從右邊開始查找
string.split(str="", num)以 str 為分隔符拆分 string,如果 num 有指定值,則僅分隔 num + 1 個子字符串,str 默認包含 '\r', '\t', '\n' 和空格
string.splitlines()按照行('\r', '\n', '\r\n')分隔,返回一個包含各行作為元素的列表
string.join(seq)以 string 作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個新的字符串

4.3 字符串的切片

  • 切片 方法適用于 字符串列表、元組
    • 切片 使用 索引值 來限定范圍,從一個大的 字符串切出 小的 字符串
    • 列表元組 都是 有序 的集合,都能夠 通過索引值 獲取到對應(yīng)的數(shù)據(jù)
    • 字典 是一個 無序 的集合,是使用 鍵值對 保存數(shù)據(jù)

字符串[開始索引:結(jié)束索引:步長]

注意

  1. 指定的區(qū)間屬于 左閉右開[開始索引, 結(jié)束索引) => 開始索引 >= 范圍 < 結(jié)束索引
    • 起始 位開始,到 結(jié)束位的前一位 結(jié)束(不包含結(jié)束位本身)
  2. 從頭開始,開始索引 數(shù)字可以省略,冒號不能省略
  3. 到末尾結(jié)束,結(jié)束索引 數(shù)字可以省略,冒號不能省略
  4. 步長默認為 1,如果連續(xù)切片,數(shù)字和冒號都可以省略

索引的順序和倒序

  • 在 Python 中不僅支持 順序索引,同時還支持 倒序索引
  • 所謂倒序索引就是 從右向左 計算索引
    • 最右邊的索引值是 -1,依次遞減

演練需求

    1. 截取從 2 ~ 5 位置 的字符串
    1. 截取從 2 ~ 末尾 的字符串
    1. 截取從 開始 ~ 5 位置 的字符串
    1. 截取完整的字符串
    1. 從開始位置,每隔一個字符截取字符串
    1. 從索引 1 開始,每隔一個取一個
    1. 截取從 2 ~ 末尾 - 1 的字符串
    1. 截取字符串末尾兩個字符
    1. 字符串的逆序(面試題)

答案

num_str = "0123456789"# 1. 截取從 2 ~ 5 位置 的字符串print(num_str[2:6])# 2. 截取從 2 ~ `末尾` 的字符串print(num_str[2:])# 3. 截取從 `開始` ~ 5 位置 的字符串print(num_str[:6])# 4. 截取完整的字符串print(num_str[:])# 5. 從開始位置,每隔一個字符截取字符串print(num_str[::2])# 6. 從索引 1 開始,每隔一個取一個print(num_str[1::2])# 倒序切片# -1 表示倒數(shù)第一個字符print(num_str[-1])# 7. 截取從 2 ~ `末尾 - 1` 的字符串print(num_str[2:-1])# 8. 截取字符串末尾兩個字符print(num_str[-2:])# 9. 字符串的逆序(面試題)print(num_str[::-1])

05. 公共方法

5.1 Python 內(nèi)置函數(shù)

Python 包含了以下內(nèi)置函數(shù):

函數(shù)描述備注
len(item)計算容器中元素個數(shù)
del(item)刪除變量del 有兩種方式
max(item)返回容器中元素最大值如果是字典,只針對 key 比較
min(item)返回容器中元素最小值如果是字典,只針對 key 比較
cmp(item1, item2)比較兩個值,-1 小于/0 相等/1 大于Python 3.x 取消了 cmp 函數(shù)

注意

  • 字符串 比較符合以下規(guī)則: "0" < "A" < "a"

5.2 切片

描述Python 表達式結(jié)果支持的數(shù)據(jù)類型
切片"0123456789"[::-2]"97531"字符串、列表、元組
  • 切片 使用 索引值 來限定范圍,從一個大的 字符串切出 小的 字符串
  • 列表元組 都是 有序 的集合,都能夠 通過索引值 獲取到對應(yīng)的數(shù)據(jù)
  • 字典 是一個 無序 的集合,是使用 鍵值對 保存數(shù)據(jù)

5.3 運算符

運算符Python 表達式結(jié)果描述支持的數(shù)據(jù)類型
+[1, 2] + [3, 4][1, 2, 3, 4]合并字符串、列表、元組
*["Hi!"] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重復(fù)字符串、列表、元組
in3 in (1, 2, 3)True元素是否存在字符串、列表、元組、字典
not in4 not in (1, 2, 3)True元素是否不存在字符串、列表、元組、字典
> >= == < <=(1, 2, 3) < (2, 2, 3)True元素比較字符串、列表、元組

注意

  • in 在對 字典 操作時,判斷的是 字典的鍵
  • innot in 被稱為 成員運算符

成員運算符

成員運算符用于 測試 序列中是否包含指定的 成員

運算符描述實例
in如果在指定的序列中找到值返回 True,否則返回 False3 in (1, 2, 3) 返回 True
not in如果在指定的序列中沒有找到值返回 True,否則返回 False3 not in (1, 2, 3) 返回 False

注意:在對 字典 操作時,判斷的是 字典的鍵

5.4 完整的 for 循環(huán)語法

  • Python 中完整的 for 循環(huán) 的語法如下:
for 變量 in 集合:        循環(huán)體代碼else:    沒有通過 break 退出循環(huán),循環(huán)結(jié)束后,會執(zhí)行的代碼

應(yīng)用場景

  • 迭代遍歷 嵌套的數(shù)據(jù)類型時,例如 一個列表包含了多個字典
  • 需求:要判斷 某一個字典中 是否存在 指定的 值
    • 如果 存在,提示并且退出循環(huán)
    • 如果 不存在,在 循環(huán)整體結(jié)束 后,希望 得到一個統(tǒng)一的提示
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["name"] == find_name:        print("找到了")        # 如果已經(jīng)找到,直接退出循環(huán),就不需要再對后續(xù)的數(shù)據(jù)進行比較        breakelse:    print("沒有找到")print("循環(huán)結(jié)束")
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
14 高級變量類型
看完這篇文章,你的Python基礎(chǔ)就差不多了(一)
Python大牛精心制作零基礎(chǔ)入門到進階學(xué)習(xí)所有知識點!
史上最全,最詳細的Python入門教程!你應(yīng)該沒見過比這篇還詳細的
Rust 的切片
零基礎(chǔ)學(xué)python,看完這篇文章,你的python基礎(chǔ)就差不多了!
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服