Py4DS|3 列表、元組和字典
Py4DS|3 列表、元組和字典
內(nèi)容結(jié)構(gòu):
1 列表知識
2 元組知識
3 字典知識
目標管理:
閱讀完本文后,你可以得到:
1 列表、元組和字典3種數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建
2 列表、元組和字典的應(yīng)用
數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)組織和存儲的一種方式。
列表、元組和字典是Python的3種數(shù)據(jù)結(jié)構(gòu)。
01
列表
我們先回顧下Python的原子數(shù)據(jù)類型,分別是:
float:浮點型
int:整型
str:字符型
bool:布爾型
列表是一種非原子類型的數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu),它是一個有序的、可變的集合,使用中括號[]來創(chuàng)建列表。列表的操作包括使用索引法訪問列表元素,使用循環(huán)操作遍歷列表的元素,使用一些常用的方法對列表增刪改和排序的操作。
# 列表知識和技能
# 1 創(chuàng)建列表
height_list = []
print(type(height_list))
print(height_list)
height_list1 = [1.75, 1.62, 1.83, 1.94]
print(height_list1)
# 2 列表的操作
# 2.1 利用索引訪問列表的元素,從0開始
lang_list = ["C", "Python", "R", "Java", "C++"]
print("我在大學(xué)學(xué)習(xí)的第一門編程語言:", lang_list[0])
print("我做數(shù)據(jù)科學(xué)的編程語言:", lang_list[1])
print("我做數(shù)據(jù)科學(xué)的編程語言:", lang_list[2])
# 2.2 列表是可變的,修改列表的元素值
print("修改之前:", lang_list)
lang_list[3] = "Go"
print("修改之后:", lang_list)
# 2.3 使用for循環(huán)便利列表的元素
for language in lang_list:
print("計算機編程語言:", language)
# 2.4 使用len()函數(shù)輸出列表的元素個數(shù)
print("編程語言列表的元素個數(shù):", len(lang_list))
# 2.5 列表增刪操作
# append() -- 增加元素操作
lang_list.append("SQL")
print("修改之后", lang_list)
# insert() -- 特定位置的插入元素
lang_list.insert(3, "Matlab")
print("修改之后", lang_list)
# 使用remove()、pop()、del()方法刪除元素
print("完整的列表", lang_list)
lang_list.remove("Go")
print("使用remove方法刪除元素后的列表", lang_list)
lang_list.pop(2)
print("使用pop方法刪除元素后的列表", lang_list)
del(lang_list[0])
print("使用del方法刪除元素后的列表", lang_list)
# 2.6 列表的排序操作
# 使用sort()方法
print("排序前列表:", lang_list)
lang_list.sort()
print("排序后列表:", lang_list)
02
元組
元組是Python語言另一種數(shù)據(jù)類型。
元組和列表類似,但是又具有本質(zhì)的區(qū)別。
首先,元組是不變的(重點);其次,元組是用小括號來標記和創(chuàng)建。
由于元組的不可變性,就不能對它進行增刪改查的操作。
我們什么時候用列表?什么時候用元組?可以根據(jù)數(shù)據(jù)結(jié)構(gòu)是是否需要變化來做選擇。
# 元組知識和技能
# 1 元組創(chuàng)建
gzh_name = ("數(shù)據(jù)科學(xué)與人工智能", "R語言", "數(shù)據(jù)人才")
print(type(gzh_name))
print(gzh_name)
# 2 元素操作
for name in gzh_name:
print("我運營的公眾號:", name)
print("%s專注于數(shù)據(jù)科學(xué)與人工智能內(nèi)容" % gzh_name[0])
print("%s專注于R語言的內(nèi)容" % gzh_name[1])
print("%s是數(shù)據(jù)人才服務(wù)商" % gzh_name[2])

03
字典
字典是一種Key-Value數(shù)據(jù)結(jié)構(gòu)。
Key用于表示鍵值;Value用于表示鍵值對應(yīng)的Value值。
Key具有唯一性。
字典是通過大括號創(chuàng)建。
字典獲取Value的值,有兩種方式。一種方式,利用Key來獲取,另一種方式,利用get方法來獲取。
# 字典知識和技能
# 1 字典的創(chuàng)建
DS_AI_gzh = {
"name": "陸勤",
"content": "專注于數(shù)據(jù)科學(xué)與人工智能",
"operation": "文章+社群",
"value": "分享和傳播知識與技能,利用數(shù)據(jù)學(xué)習(xí)知識和創(chuàng)造價值",
"wechat": "歡迎添加我微信1181906473,交流數(shù)據(jù)科學(xué)與人工智能"
}
print(type(DS_AI_gzh))
print(DS_AI_gzh)
# 字典的操作
# 1 獲取字典Value值
# 1)使用Key來獲取Value的值,2)使用get方法
print("數(shù)據(jù)科學(xué)與人工智能公眾號的聯(lián)系方式%s" % DS_AI_gzh["wechat"])
print("數(shù)據(jù)科學(xué)與人工智能公眾號的聯(lián)系方式%s" % DS_AI_gzh.get("wechat"))
# 2 修改字典Value值
# 完善公眾號的運營方式
DS_AI_gzh["operation"] = "圖文+社群+朋友圈"
print(DS_AI_gzh)
# 3 遍歷字典的內(nèi)容
# 使用for循環(huán)操作
# 3.1 輸出Key
for gzh_info in DS_AI_gzh:
print("公眾號信息包含Key", gzh_info)
# 3.2 輸出Value
for gzh_info in DS_AI_gzh.values():
print("公眾號信息包含Value", gzh_info)
# 3.3 輸出Key-Value
for gzh_key_info, gzh_value_info in DS_AI_gzh.items():
print(gzh_key_info, gzh_value_info)

我創(chuàng)建了Py4DS群,歡迎掃描下方二維碼,添加我的微信,備注:Py4DS。我誠邀你加入Py4DS群。大家一起學(xué)習(xí)和討論,共同進步和增進。
Py4DS專欄
2Py4DS|1數(shù)據(jù)科學(xué)基礎(chǔ)
3Py4DS|2數(shù)據(jù)科學(xué)工作環(huán)境的搭建
如果你覺的文章內(nèi)容有用,請關(guān)注下方公眾號~
若是覺得本文不錯,請順手轉(zhuǎn)發(fā)到朋友圈和微信群哦,謝謝。
