Python 高級變量之字典和字符串詳解
1、字典的定義
dictionary
(字典)是出列表以外 Python 之中 最靈活 的數(shù)據(jù)類型,字典統(tǒng)一可以用來 存儲多個(gè)數(shù)據(jù),通常用于存儲 描述一個(gè) 物體 的相關(guān)信息;
字典和列表的區(qū)別:
- 列表 是 有序 的對象集合;
- 字典 是 無需 的對象集合;
- 字典用 { } 定義
字典使用 鍵值對 存儲數(shù)據(jù),鍵值對之間使用 , 分割;
鍵:Key
,是索引;
值: Value
, 是數(shù)據(jù);
鍵 和 值 之間使用 ; 分割
鍵必須是唯一的;
值 可以取任何數(shù)據(jù)類型,但 鍵 只能使用 字符串、數(shù)字 或元組;
# 字典是一個(gè)無序的數(shù)據(jù)集合,使用print函數(shù)輸出字典時(shí),通常 # 輸出的順序和定義的順序是不一致的! xiaoming = {"name":"小明", "age":18, "gender":True, "height":1.75, "weight":75.5} print(xiaoming)
字典的基本使用
xiaom_dict = {"name":"小明"} # 取值 #在取值的時(shí)候,如果指定的Key不存在,程序會報(bào)錯(cuò)! print(xiaom_dict["name"]) # 增加/刪除 # 如果 key 不存在,會新增鍵值對 xiaom_dict["age"] = 18 # 如果 key 存在,會修改意見存在的鍵值對 xiaom_dict["name"] = "小小明" # 刪除 # 在刪除指定鍵值得時(shí)候,如果指定的key不存在,程序會報(bào)錯(cuò) xiaom_dict.pop("name") print(xiaom_dict)
xioaming_dict = {"name":"小明", "age":18} # 統(tǒng)計(jì)鍵值對數(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]))
提示:在實(shí)際開發(fā)中,由于字典中每一個(gè)鍵值對保存數(shù)據(jù)的類型是不同的,所以針對字典的循環(huán)遍歷需求并不是很多。
# 使用 多個(gè)鍵值對,存儲 描述一個(gè) 物體 的相關(guān)新 描述更復(fù)雜的數(shù)據(jù)信息 # 將 多個(gè)字典 放在一個(gè)列表中,再進(jìn)行遍歷 card_list = [ {"name":"張三", "qq":"123456", "phone":"110"}, {"name":"李四", "qq":"10086"}, ] for card_info in card_list: print(card_info)
3、字符串的定義
字符串 就是 一串字符,是編程語言中表示文本的數(shù)據(jù)類型:
雖然可以使用" 或者 ' 做字符串的轉(zhuǎn)義,但是在實(shí)際開發(fā)中:
如果字符串內(nèi)部需要使用 ' ,可以使用 " 定義字符串
可以使用 索引 獲取一個(gè)字符串中 指定位置的字符,索引計(jì)數(shù)從0開始;
也可以使用 for 循環(huán)遍歷 字符串中加一個(gè)字符。
大多數(shù)編程語言都是使用" 來定義字符串。
4、字符串的常用操作
在ipython3 中定義一個(gè) 字符串,例如:hello_str = “”
輸入 hello_str. 按下 TAB 鍵,ipython 會提示 字符串 能夠使用的方法如下:
hello_str = "hello hello" # 統(tǒng)計(jì)字符串長度 print(len(hello_str)) # 統(tǒng)計(jì)某一個(gè)小字符串出現(xiàn)的次數(shù) print(hello_str.count("llo")) print(hello_str.count('abc')) # 某一個(gè)字符串出現(xiàn)的位置 print(hello_str.index("llo")) # 注意:如果使用index 方法傳遞的字符串不存在 程序會報(bào)錯(cuò)! #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如果指定的字符串不存在,會報(bào)錯(cuò) # find如果指定的字符串不存在,會返回-1 print(hello_str.find("abc")) # 替換字符串 # replace 方法執(zhí)行完成之后,會返回一個(gè)新的字符串 # 注意:不會修改原有字符串的內(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ò)上抓取得 # 要求:將字符串中的空白字符全部去掉 # 再使用“ ” 作為分割符,拼接成一個(gè)整齊的字符串 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、字符串的切片
切片 使用 索引值 來限定范圍,從一個(gè)大的 字符串 中 切出 小的 字符串;
列表 和 元組 都是 有序 的集合,都能夠 通過索引值 獲取到對應(yīng)的數(shù)據(jù);
字典 是一個(gè) 無序 的集合,是使用 鍵值對 保存數(shù)據(jù);
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
基于Python實(shí)現(xiàn)的戀愛對話小程序詳解
這篇文章主要介紹了基于Python制作一個(gè)戀愛對話小程序,文章詳細(xì)介紹了小程序的實(shí)現(xiàn)過程,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)2022-01-01Python設(shè)計(jì)模式之外觀模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之外觀模式,結(jié)合實(shí)例形式詳細(xì)分析了外觀模式的概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-01-01python實(shí)現(xiàn)redis三種cas事務(wù)操作
本篇文章主要介紹了python實(shí)現(xiàn)redis三種cas事務(wù)操作,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12python實(shí)現(xiàn)比較類的兩個(gè)instance(對象)是否相等的方法分析
這篇文章主要介紹了python實(shí)現(xiàn)比較類的兩個(gè)instance(對象)是否相等的方法,結(jié)合實(shí)例形式分析了Python判斷類的實(shí)例是否相等的判斷操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-06-06