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-01
Python設(shè)計(jì)模式之外觀模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之外觀模式,結(jié)合實(shí)例形式詳細(xì)分析了外觀模式的概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-01-01
python實(shí)現(xiàn)redis三種cas事務(wù)操作
本篇文章主要介紹了python實(shí)現(xiàn)redis三種cas事務(wù)操作,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12
python實(shí)現(xiàn)比較類的兩個(gè)instance(對象)是否相等的方法分析
這篇文章主要介紹了python實(shí)現(xiàn)比較類的兩個(gè)instance(對象)是否相等的方法,結(jié)合實(shí)例形式分析了Python判斷類的實(shí)例是否相等的判斷操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-06-06

