Python 高級變量之字典和字符串詳解
1、字典的定義
dictionary
(字典)是出列表以外 Python 之中 最靈活 的數(shù)據(jù)類型,字典統(tǒng)一可以用來 存儲多個數(shù)據(jù),通常用于存儲 描述一個 物體 的相關(guān)信息;
字典和列表的區(qū)別:
- 列表 是 有序 的對象集合;
- 字典 是 無需 的對象集合;
- 字典用 { } 定義
字典使用 鍵值對 存儲數(shù)據(jù),鍵值對之間使用 , 分割;
鍵:Key
,是索引;
值: Value
, 是數(shù)據(jù);
鍵 和 值 之間使用 ; 分割
鍵必須是唯一的;
值 可以取任何數(shù)據(jù)類型,但 鍵 只能使用 字符串、數(shù)字 或元組;
# 字典是一個無序的數(shù)據(jù)集合,使用print函數(shù)輸出字典時,通常 # 輸出的順序和定義的順序是不一致的! xiaoming = {"name":"小明", "age":18, "gender":True, "height":1.75, "weight":75.5} print(xiaoming)
字典的基本使用
xiaom_dict = {"name":"小明"} # 取值 #在取值的時候,如果指定的Key不存在,程序會報錯! print(xiaom_dict["name"]) # 增加/刪除 # 如果 key 不存在,會新增鍵值對 xiaom_dict["age"] = 18 # 如果 key 存在,會修改意見存在的鍵值對 xiaom_dict["name"] = "小小明" # 刪除 # 在刪除指定鍵值得時候,如果指定的key不存在,程序會報錯 xiaom_dict.pop("name") print(xiaom_dict)
xioaming_dict = {"name":"小明", "age":18} # 統(tǒng)計鍵值對數(shù)量 print(len(xioaming_dict)) # 合并字典 temp_dict = {"height":1.75, "age":20} # 注意 如果被合并的字典中包含已經(jīng)存在的鍵值對,會覆蓋原有的鍵值對 xioaming_dict.update(temp_dict) # 清空字典 xioaming_dict.clear() print(xioaming_dict)
2、循環(huán)遍歷
遍歷 就是 依次 從 字典 中獲取所有鍵值對;
xiaoming_dict = {"name":"小明", "qq":"123456", "phone":"10086"} # 迭代遍歷字典 # 變量K是每一次循環(huán)中,獲取到的鍵值對的Key for K in xiaoming_dict: print("%s - %s " % (K,xiaoming_dict[K]))
提示:在實際開發(fā)中,由于字典中每一個鍵值對保存數(shù)據(jù)的類型是不同的,所以針對字典的循環(huán)遍歷需求并不是很多。
# 使用 多個鍵值對,存儲 描述一個 物體 的相關(guān)新 描述更復(fù)雜的數(shù)據(jù)信息 # 將 多個字典 放在一個列表中,再進行遍歷 card_list = [ {"name":"張三", "qq":"123456", "phone":"110"}, {"name":"李四", "qq":"10086"}, ] for card_info in card_list: print(card_info)
3、字符串的定義
字符串 就是 一串字符,是編程語言中表示文本的數(shù)據(jù)類型:
雖然可以使用" 或者 ' 做字符串的轉(zhuǎn)義,但是在實際開發(fā)中:
如果字符串內(nèi)部需要使用 ' ,可以使用 " 定義字符串
可以使用 索引 獲取一個字符串中 指定位置的字符,索引計數(shù)從0開始;
也可以使用 for 循環(huán)遍歷 字符串中加一個字符。
大多數(shù)編程語言都是使用" 來定義字符串。
4、字符串的常用操作
在ipython3 中定義一個 字符串,例如:hello_str = “”
輸入 hello_str. 按下 TAB 鍵,ipython 會提示 字符串 能夠使用的方法如下:
hello_str = "hello hello" # 統(tǒng)計字符串長度 print(len(hello_str)) # 統(tǒng)計某一個小字符串出現(xiàn)的次數(shù) print(hello_str.count("llo")) print(hello_str.count('abc')) # 某一個字符串出現(xiàn)的位置 print(hello_str.index("llo")) # 注意:如果使用index 方法傳遞的字符串不存在 程序會報錯! #print(hello_str.index("abc"))
字符串 查找和替換
hello_str = "hello world" # 判斷是否以指定字符串開始 print(hello_str.startswith("hello")) # 判斷是否以指定字符串結(jié)束 print(hello_str.endswith("world")) # 查找指定字符串 # index 同樣可以查找指定的字符串在大字符串中的索引 print(hello_str.find("llo")) #index如果指定的字符串不存在,會報錯 # find如果指定的字符串不存在,會返回-1 print(hello_str.find("abc")) # 替換字符串 # replace 方法執(zhí)行完成之后,會返回一個新的字符串 # 注意:不會修改原有字符串的內(nèi)容 print(hello_str.replace("world","python")) print(hello_str)
字符串 文本對齊演練
# 假設(shè):以下內(nèi)容是從網(wǎng)絡(luò)上抓取得 # 要求:順序并且居中對齊輸出以下內(nèi)容 poem = ["登喜鵲樓", "王之渙", "白日依山盡", "黃河入海流", "欲窮千里目", "更上一層樓"] for poem_str in poem: print("|%s|" % poem_str.center(10," "))
去除空白字符
# 假設(shè):以下內(nèi)容是從網(wǎng)絡(luò)上抓取得 # 要求:順序并且居中對齊輸出以下內(nèi)容 poem = ["\t\n登喜鵲樓", "王之渙", "白日依山盡\t\n", "黃河入海流", "欲窮千里目", "更上一層樓"] for poem_str in poem: # 先使用strip 方法去除字符串中的空白字符 # 再使用center 方法居中顯示文本 print("|%s|" % poem_str.strip().center(10," "))
字符串拆分和連接
# 假設(shè):以下內(nèi)容是從網(wǎng)絡(luò)上抓取得 # 要求:將字符串中的空白字符全部去掉 # 再使用“ ” 作為分割符,拼接成一個整齊的字符串 poem_str = ["登喜鵲樓\t", "王之渙\t", "白日依山盡\t\n", "黃河入海流\t\t", "欲窮千里目\t\t", "更上一層樓"] print(poem_str) # 拆分字符串 poem_list = poem_str.split() print(poem_list) # 合并字符串 result = " ".join(poem_list) print(result)
5、字符串的切片
切片 使用 索引值 來限定范圍,從一個大的 字符串 中 切出 小的 字符串;
列表 和 元組 都是 有序 的集合,都能夠 通過索引值 獲取到對應(yīng)的數(shù)據(jù);
字典 是一個 無序 的集合,是使用 鍵值對 保存數(shù)據(jù);
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python實現(xiàn)redis三種cas事務(wù)操作
本篇文章主要介紹了python實現(xiàn)redis三種cas事務(wù)操作,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12python實現(xiàn)比較類的兩個instance(對象)是否相等的方法分析
這篇文章主要介紹了python實現(xiàn)比較類的兩個instance(對象)是否相等的方法,結(jié)合實例形式分析了Python判斷類的實例是否相等的判斷操作實現(xiàn)技巧,需要的朋友可以參考下2019-06-06