python字典里可以放列表吗_学习python之列表及字典
本關學習的是兩種新的數(shù)據(jù)類型:列表、字典。
在開始之前先學習一下計算機與數(shù)據(jù)直接的關系。
計算機有3種方式利用數(shù)據(jù):
1、直接使用數(shù)據(jù)
print('我來了')
2、計算和加工數(shù)據(jù)
print (1+2+3)
3 、用數(shù)據(jù)做判斷
if i<0:
print('你還沒有誕生')
elif a==0:
print('恭喜你出生')
elif a<18:
print('人生即將開始新征程')
else:
print('人生路漫漫')
通過if語句我們可以看到計算機利用數(shù)據(jù)做邏輯判斷。
一、列表
1、什么是列表
students=['A','B','C']
列表名students 賦值號= 列表['A','B','C'] ,一個列表需要用中括號[ ]把里面的各種數(shù)據(jù)框起來,里面的每一個數(shù)據(jù)叫作“元素”。每個元素之間都要用英文逗號隔開。
list1 = ['AA',18,1.70]
print(list1)
輸出:['AA',18,1.70]
列表可以包含一切
2、從列表提取單個元素
偏移量:每個元素都有自己對應的位置編號
students = ['a','b','c']
students[0],students[1],students[2]
偏移量是從0開始的
列表名后加帶偏移量的中括號,就能渠道相應位置的元素
找出小A,應該如何做呢?
students=['小A' ,'小B','小C']
print(students[0])
輸出:
小A
3、從列表提取多個元素
冒號用來截取列表元素的操作叫切片,這種切片的方式可以讓我們從列表中取出多個元素
:左右兩邊的數(shù)字指的是列表中元素的偏移量,記得偏移量始終從0開始
list2 = [5,6,7,8,9]
print(list2[:])
# 打印出[5,6,7,8,9]
print(list2[2:])
# 打印出[7,8,9]
print(list2[:2])
# 打印出[5,6]
print(list2[1:3])
#打印出[6,7]
print(list2[2:4])
#打印出[7,8]
切片口訣:左右空,取到頭;左要取,右不取
冒號左邊空,就要從偏移量為0的元素開始取;右邊空,就要取到列表的最后一個元素。后半句:冒號左邊數(shù)字對應的元素要拿,右邊的不動
我們要注意一個細節(jié):偏移量取到的是列表中的元素,而切片則是截取了列表的某部分,所以還是列表。
students=['AA','BB','CC']
print(students[2])
print(students[2:])
輸出:
CC
['CC']
4、給列表增加/刪除元素
如果需要給列表中增加元素,我們就需要用到append()函數(shù)給列表增加元素,append的意思是附加,增補。
list3 = [1,2]
list3.append(3)
print(list3)
list3.append([4,5])
print(list3)
輸出:
[1,2,3]
[1,2,3,[4,5]]
append()給列表增加元素,每次只能增加一個元素(單個列表也會視作一個元素),列表重的元素可以是字符串、數(shù)字等,也可以是列表本身(列表內(nèi)部支持嵌套),append后的元素,會添加在列表末尾
格式 列表名.append()
刪除元素del列表名[元素的索引]
del語句,既能刪除一個元素,也能一次刪除多個元素
students=['AA','BB','CC','DD']
del students[3]
print(students)
輸出:
['AA','BB','CC']
二、字典
1、什么字典
scores={'AA':95,'BB':90,'CC':90}
字典和列表有3個地方是一樣的:1.有名稱;2.要用=賦值;3.用逗號作為元素間的分隔符。
而不一樣的有兩處:1.列表外層用的是中括號[ ],字典的外層是大括號{ };
列表中的元素是自成一體的,而字典的元素是由一個個鍵值對構成的,用英文冒號連接。
比如'AA':95,其中'AA'叫做鍵(key),95叫值(value),這樣唯一的鍵和對應的值形成的組合,我們就叫做【鍵值對】
這里需要強調(diào)的是,字典中的鍵具備唯一性,而值可重復。也就是說字典里不能同時包含兩個'AA'的鍵,但卻可以有兩個同為90的值。
介紹一個函數(shù)可以得出一個列表或者字典的長度(元素個數(shù)),括號里放列表或字典名稱。
students=['AA','BB','CC']
scores={'AA':95,'BB':90,'CC':90}
print(len(students))
print(len(scores))
輸出
3
3
2、從字典中提取元素
如果我們想從字典中提取元素,這里靠的是鍵
scroes={'AA':95,'BB':90,'小剛':90}
print(scores['AA'])
輸出:95
3、給字典增加/刪除元素
刪除字典里鍵值對 del 字典名[鍵]
新增鍵值對的賦值語句 字典名[鍵]=值
scores = {'AA':95,'BB':90,'CC':90}
del scores['CC']
scores['CC'] = 92
scores['DD'] = 85
print(scores)
輸出:
{'AA': 95, 'BB': 90, 'CC': 92, 'DD': 85}
三、列表和字典的異同
1、列表和字典的不同點
一個很重要的不同點是列表中的元素是有自己明確的“位置”的,所以即使看似相同的元素,只要在列表所處的位置不同,它們就是兩個不同的列表。
# 如果==左右兩邊相等,值為True,不相等則為False。
print(1 == 1)
# 1等于1,所以值為True
print(1 == 2)
# 1不等于2,所以為False
students1 = ['小明','小紅','小剛']
students2 = ['小剛','小明','小紅']
print(students1 == students2)
scores1 = {'小明':95,'小紅':90,'小剛':100}
scores2 = {'小剛':100,'
輸出:
True
False
False
True
列表中的數(shù)據(jù)是有序排列的,而字典中的數(shù)據(jù)是隨機排列的
列表有序,要用偏移量定位;字典無序,便通過唯一的鍵來取值
2、列表和字典的相同點
在列表和字典中,如果要修改元素,都可用賦值語句來完成
del語句通常是用來刪除確定不需要的鍵值對
支持任意嵌套。列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。
students = [['小明','小紅','小剛','小美'],['小強','小蘭','小偉','小芳']]
students這個列表由兩個子列表組成,如果要取出小芳,我們需要一層層取出
students[0]:['小明','小紅','小剛','小美']
students[1]:['小強','小蘭','小偉','小芳']
小芳是students[1]列表里的第三個元素
students = [['小明','小紅','小剛','小美'],['小強','小蘭','小偉','小芳']]
print(students[1][3])
輸出
小芳
字典嵌套字典
scores = {
'第一組':{'小明':95,'小紅':90,'小剛':100,'小美':85},
'第二組':{'小強':99,'小蘭':89,'小偉':93,'小芳':88}
}
print(scores['第一組']['小剛'])
輸出
100
列表和字典相互嵌套
# 最外層是大括號,所以是字典嵌套列表,先找到字典的鍵對應的列表,再判斷列表中要取出元素的偏移量
students = {
'第一組':['小明','小紅','小剛','小美'],
'第二組':['小強','小蘭','小偉','小芳']
}
print(students['第一組'][3])
#取出'第一組'對應列表偏移量為3的元素,即'小美'
# 最外層是中括號,所以是列表嵌套字典,先判斷字典是列表的第幾個元素,再找出要取出的值相對應的鍵
scores = [
{'小明':95,'小紅':90,'小剛':100,'小美':85},
{'小強':99,'小蘭':89,'小偉':93,'小芳':88}
]
print(scores[1]['小強'])
#先定位到列表偏移量為1的元素,即第二個字典,再取出字典里鍵為'小強'對應的值,即99。
輸出
小美
99
這節(jié)課知識量有點大,需要更多的理解和聯(lián)系,一起加油。
總結
以上是生活随笔為你收集整理的python字典里可以放列表吗_学习python之列表及字典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何把两个域控同步_同步带噪音大,怎么办
- 下一篇: 湖南装修公司排前十口碑推荐中哪家更值得选