day-8 元祖,字典

1.列表相關(guān)運算
數(shù)學(xué)運算:‘=’,‘’
列表1 + 列表2 :將兩列表中元素合并產(chǎn)生新的列表,(原列表不會產(chǎn)生改變)
列表正整數(shù) :列表重復(fù)n次產(chǎn)生一個新列表(原列表不會產(chǎn)生改變)
比較運算: == ,!= 兩列表一只
<,>,<=,>= 只支持相同位置上元素相同的兩個列表
2.內(nèi)置函數(shù)
len(列表),sum(數(shù)字列表), max(列表),min(列表)
list(數(shù)據(jù))- 將指定數(shù)據(jù)轉(zhuǎn)換成列表,序列型數(shù)據(jù)
是將序列中的元素作為列表元素
3.相關(guān)方法
1)列表.count(元素)
2)列表.extend(序列)- 將序列中的元素添加到列表中
3)列表.index(元素) - 獲取指定元素在列表中的下標(biāo),如果有多個僅獲取第一個
4)列表.reverse - 將列表中的元素倒敘,不會產(chǎn)生新列表
補充:內(nèi)置函數(shù):reverse(序列) - 將序列中的元素倒敘產(chǎn)生一個新的迭代器,原序列不會進行修改
5)列表.sort() - 對列表進行升序排序(元素類型相同并且支持比較運算)
列表.sort(reverse = True)

  1. 列表.copy() - 產(chǎn)生一個新的列表,列表中元素與原列表相同,相當(dāng)于 列表[:]
    id(變量) - 查看變量中實質(zhì)存儲的地址
    python所有變量本質(zhì)實質(zhì)都是直接保存數(shù)據(jù)在內(nèi)存中的地址
    問題:通過元素刪除的時候可能出現(xiàn)刪不干凈的問題
scores = [10, 20, 90, 45,10]
#刪除列表中所有小于60的數(shù)字
for item in scores:
    if item < 60:
        scores.remove(item)
print(scores)

for item in scores[:]:
    if item < 60:
        scores.remove(item)
print(scores)

問題2:通過下標(biāo)刪除滿足條件元素時,出現(xiàn)下標(biāo)越界的錯誤

scores = [10, 20, 90, 45, 10]
scores1 = scores.copy()

for index in range(len(scores)):
    if scores1[index] < 60:
        scores.remove(scores1[index])
print(scores)

scores = [10, 20, 90, 45, 10]
index = 0
while index < len(scores):
    if scores[index] < 60:
        del scores[index]
        continue
    index +=1
print(scores)

1.什么是元祖(tuple)
.不可變的列表,作為序列不可變(不支持增刪改)但是有序(支持下標(biāo)操作)
(元素1,元素2,元素3,元素4) , 元素的要求和列表一樣
2.查 - 獲取元素(與列表相同)
3.數(shù)學(xué)運算,比較運算,in/not in , len(), max(), min(), sum(),與list相同
4.元祖專有的特點
1)一個元素的元祖:需要在元素后加逗號

tu1 = 'abc',
print(type(tu1))

2)元祖的值可以不要小括號,直接將多個元素,用逗號隔開,同樣表示元祖
tup2 = 10, 20, 'abc'
3)讓變量的個數(shù)與元祖中元素的個數(shù)保持一致,可以讓變量依次取出元祖中的元素
point = (100, 200)
x, y = point
3.2)多個變量獲取元祖元素的時候,可以在某一個變量前將這個變量變?yōu)閘ist獲取除了不帶的變量,獲取剩下的數(shù)據(jù)
注意:帶*變量有且只能有一個

student = '小明,30, 60, 175,70'
name, age, *scores, height = student

1.什么是字典
字典是python內(nèi)置的一個容器型數(shù)據(jù)類型,可變(支持增刪改),無序(不支持下標(biāo)操作)
{鍵值對1,鍵值對2,...} = {鍵1:值1,鍵2:值2,...}
鍵(key):a.不可變;b.唯一
值(value):和列表元素的要求一樣
注意:鍵值對是成對出現(xiàn);字典存數(shù)據(jù),實質(zhì)要存的是值,鍵是值得索引

from typing import Dict, List, Union
dict1 = {'a': 100, 'b': 'abc', 'c': [1, 2, 3], 'd': 'ss'}

2.什么時候用字典
如果同時保存多個數(shù)據(jù)具有相同意義的數(shù)據(jù),用列表;如果同時保存多個數(shù)據(jù)的意義不同,就使用字典
3.查 - 獲取值 None - python中的關(guān)鍵字,表示空和沒有的意思
1)獲取單個值:a.字典[key] - 獲取字典中指定key 對應(yīng)的值
b.字典.get(key) - 獲取字典中指定key 對應(yīng)的值,如果key值不存在,返回None
b.字典.get(key,默認(rèn)值) - 獲取字典中指定key 對應(yīng)的值,如果key值不存在,返回默認(rèn)值
2)遍歷
直接遍歷字典拿到的是key

dict2 = {'a': 100, 'b': 'abc', 'c': [1, 2, 3]}
for x in dict1:
print(x, dict1[x])
for x in dict1.values():
print(x)
for x in dict1.keys():
print(x, dict1[x])
for key, value in dict1.items():
print(key, value)

4.增/改 - 添加/修改鍵值對
字典[key] = value - key不存在時,添加鍵值對,key存在時,修改key對應(yīng)的值
film.setdefault(key.value) - 只能添加值,不能修改值
5.刪
del 字典[key] - 刪除字典中key對應(yīng)的鍵值對,如果key不存在會報錯
字典.pop(key) - 從字典中取出key對應(yīng)的鍵值對
6.相關(guān)運算
字典不支持?jǐn)?shù)學(xué)運算
只支持比較運算 ==/!= ,判斷鍵值對個數(shù)與鍵值是否相等,不用判斷順序
in / not in
key in 字典 - 判斷字典中是否存在某個key值對應(yīng)的鍵值對
len(),max(),min() - 比較key值要求key值類型相同
dict(序列) - 序列中的元素為小序列,小序列中有兩個元素且第一個元素為不可變元素
list/tuple(字典) - 將字典的key取出作為元素
7.相關(guān)方法
1)字典.clear() - 清空字典
2)字典.copy() - 復(fù)制字典,產(chǎn)生一個新的字典
3)dict.fromkeys(序列,值) - 創(chuàng)建一個新的字典,序列中的元素作為key,所有元素的值相同
4)字典1.update(字典2) - 將字典2中的鍵值對添加到字典1中,并且修改字典1總key相同的值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 花開花謝,此消彼長,云卷云舒,風(fēng)霜雪雨。在風(fēng)調(diào)雨順中我們又送走了一年。愿歲月的更迭帶給你更多的美麗;愿年歲的增...
    葉祿青閱讀 1,654評論 0 0
  • 話說大姨媽真的是一種神奇的存在 它可以讓力拔山兮氣蓋世的女漢子一秒變軟妹子 仿若月圓之日的狼人變身,控制不住的暴躁...
    37a3a0db43db閱讀 514評論 0 0

友情鏈接更多精彩內(nèi)容