day8-總結(jié)

昨日回顧

1.格式字符串

%d - 整數(shù)
%.nf - 保存小數(shù)點(diǎn)后n位
%c - 字符 能直接把數(shù)字(對(duì)應(yīng)的編碼值)轉(zhuǎn)換成字符
%s - 字符串

2.列表(list)

可變(支持增刪改)、有序(支持下標(biāo)操作)
列表中元素的增刪改查
查:列表[下標(biāo)] 切片:列表[開始下標(biāo):結(jié)束下標(biāo):步長]

改:列表[下標(biāo)] = 新值
增:列表.append(元素) 、 列表.insert(下標(biāo),元素)
刪:del 列表(下標(biāo)) 、 列表.pop(下標(biāo)):默認(rèn)刪除最后一位 、 列表.remove(元素)

補(bǔ)充列表相關(guān)知識(shí)

1.列表相關(guān)運(yùn)算

1)數(shù)學(xué)運(yùn)算:+,*

list1 = ['name', 'age']
list2 = [1, 2, 3]
new_list = list1 + list2
print(new_list)

列表1+列表2 - 將兩個(gè)列表中的元素合并產(chǎn)生一個(gè)新的列表(原列表不會(huì)發(fā)生改變)
列表*N - 列表中的元素重復(fù)N次產(chǎn)生新的列表
list1 = [1, 2, 3]
print(list1 * 3)

2)畢竟運(yùn)算: ==(列表完全一樣(袁術(shù)一樣,元素個(gè)數(shù)一樣,元素順序一樣)返回True) , !=

==(列表完全一樣(袁術(shù)一樣,元素個(gè)數(shù)一樣,元素順序一樣)返回True)
print([1, 2] == [1, 2])
>=, <=, >, <:
只支持相同位置上元素類型相同的兩個(gè)列表

2.內(nèi)置函數(shù)

len(列表):求列表長度、sum(列表):要求列表中的元素必須是數(shù)字、max(列表) 、min(列表)
list(數(shù)據(jù)) - 將指定的數(shù)據(jù)轉(zhuǎn)換成列表,所有的序列都可以轉(zhuǎn)換成列表
- 轉(zhuǎn)換的時(shí)候是將序列中的元素作為列表元素

3.相關(guān)方法

1).列表.count(元素) - 獲取指定元素在列表中出現(xiàn)的次數(shù)

2).extend(序列) - 將序列中的元素添加到列表中

3).列表.index(元素) - 獲取指定元素在列表中的下標(biāo),如果這個(gè)元素有多個(gè)只獲取第一個(gè),如果元素不存在會(huì)報(bào)錯(cuò)

list2 = [1, 0, 3, 4, 5, 8, 1, 0]
print((list2.index(0)))

4).列表.reverse() - 將列表中的元素倒敘,不會(huì)產(chǎn)生新的列表

list2.reverse()
print(list2)

補(bǔ)充:內(nèi)置函數(shù):reversed(序列) - 將序列中的元素倒敘,產(chǎn)生一個(gè)新的迭代器,原序列不會(huì)修改

5).列表.sort() - 對(duì)列表中的元素從小到大排序(列表中的元素類型一致并且支持比較運(yùn)算),不會(huì)產(chǎn)生新的列表

列表.sort(reverse=True) - 從大到小排序.

6).列表.copy() - 產(chǎn)生一個(gè)新的,列表中的元素和原列表一樣,相當(dāng)于:列表[:]

id(變量) - 獲取變量的地址
python中所有變量實(shí)質(zhì)都是直接保存的數(shù)據(jù)在內(nèi)存的地址

del_item

scores = [10, 50, 90, 89, 45, 70]
# 刪除列表中所有小于60的數(shù)字
for score in scores:
    if score < 60:
        scores.remove(score)
print(scores)
# 問題:通過元素刪除的時(shí)候可能出現(xiàn)刪不干凈的問題,(解決方法)
scores = [10, 50, 90, 89, 45, 70]
for score in scores[:]:  # 遍歷切片保證每個(gè)數(shù)據(jù)都能取到
    if score < 60:
        scores.remove(score)
print(scores)

# 通過下標(biāo)刪除滿足要求的元素的時(shí)候,出現(xiàn)下標(biāo)越界的錯(cuò)誤
'''
scores = [10, 50, 90, 89, 45, 70]
for index in range(len(scores)):
    if scores[index] < 60:
        del scores[index]
print(scores)
'''
scores = [10, 50, 90, 89, 45, 70]
index = 0
while index < len(scores):
    if scores[index] < 60:
        del scores[index]
        continue
    index += 1
print(scores)

tuple

1.什么是元祖(tuple)

元祖就是不可變的列表,作為序列不可變(不支持增刪改)但是有序(支持下標(biāo)操作)
(元素1,元素,元素3.....) , 元素的要求和列表一樣

2.查 - 獲取元素(和列表一樣)

tuple1 = (1, 2, 3, 4)
print(tuple1[0], tuple1[-1])
print(tuple1[0:5:2])
遍歷 (和列表一樣)
for item in tuple1:
    print(item)


for index in range(len(tuple1)):
    print(index, tuple1[index])

3.數(shù)學(xué)運(yùn)算、 比較運(yùn)算、in / not in、len(),max(),min(),sum(),tuple()和對(duì)應(yīng)的列表操作是一樣的

4.元祖專有特點(diǎn)

1)只有一個(gè)元素的元祖:需要在這個(gè)元素的后面加逗號(hào)

tuple1 = (10,)
print(type(tuple1))

2)表示元祖的值可以不用小括號(hào),(直接將多個(gè)元素用逗號(hào)隔開,也表示一個(gè)元祖)

tu2 = 10, 20, 'abc'
print(tu2, type(tu2))

3)a.讓變量的個(gè)數(shù)和元祖中元素的個(gè)數(shù)保持一致(必須個(gè)數(shù)一致),可以讓變量依次取出元祖中的元素

tu = (100, 'abc')
x, y = tu
print(x, y)

3)b.通過多個(gè)變量去獲取元祖元素的時(shí)候,可以在某個(gè)變量的前面加來將這個(gè)變量編程列表獲取不帶的變量去剩下的數(shù)據(jù)

!!!注意帶*的變量只能有一個(gè)

student = ('小明', 30, 60, 50, 100, 175)
name, age, *scores, height = student
print(name, age, scores, height)

dict

1.什么是字典(dict)

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

dict1 = {'a': 100, 'b': 'abc', 'c': [1, 2]}
print(dict1)

dict1 = {'a': 100, 'b': 'abc', 'c': [1, 2]}
print(dict1)

2.什么時(shí)候用字典

如果同時(shí)保存多個(gè)數(shù)據(jù)是具有相同意義的數(shù)據(jù),用列表;
如果同時(shí)保存的多個(gè)數(shù)據(jù)意義不同,就使用字典

3.查, - 獲取字典的值

獲取key對(duì)應(yīng)的值:字典[key] - 獲取字典中指定key對(duì)應(yīng)的值

dog = {'name': '大黃', 'type': '土狗', 'color': 'yellow', 'age': 3}
print(dog['type'])
print(dog['gender'])   # KeyError: 'gender'

獲取key對(duì)應(yīng)的值:
字典.get(key) - 獲取字典中指定的key對(duì)應(yīng)的值,如果key值不存在返回默認(rèn)值None
字典.get(key, 默認(rèn)值) - 獲取字典key對(duì)應(yīng)的值,如果 key不存在返回指定的默認(rèn)值
None是python中的關(guān)鍵詞,表示數(shù)據(jù)為空或者沒有的意思
print(dog.get('name'))
print(dog.get('gender'))
print(dog.get('gender', '公狗'))

2)遍歷:

直接遍歷字典拿到的是key

print('-----------------')
dog = {'name': '大黃', 'type': '土狗', 'color': 'yellow', 'age': 3}
for key in dog:
    print(key, dog[key])

后面三種要看的懂,不建議用.

print('2------------------')
for x in dog.values():
    print(x)

for key in dog.keys():
    print(key)

for key, value in dog.items():
    print(key, value)

4.增/改 -添加鍵值對(duì)

語法:1).字典[key] = 值 - 當(dāng)key不存在的時(shí)候就是添加鍵值對(duì),

                     當(dāng)key存在的時(shí)候就是去修改key對(duì)應(yīng)的值

2).字典.setdefault(key, value) -只能添加不能修改

5.刪

del 字典.[key]
注意如果key不存在會(huì)報(bào)錯(cuò)
dog = {'name': '大黃', 'type': '土狗', 'color': 'yellow', 'age': 3}
del dog['age']
print(dog)

字典.pop(key) - 從字典中取出key對(duì)應(yīng)的值,結(jié)果是key對(duì)應(yīng)的值
n = dog.pop('name')
print(dog, n)

6.相關(guān)運(yùn)算:

只支持比較運(yùn)算符:

print({'a': 10, 'b': 20} == {'b': 20, 'a': 10})   # True

in / not in
key in 字典 - 判斷字典中是否存在某個(gè)key對(duì)應(yīng)的鍵值對(duì)

student = {'name': '小明', 'age': 13}
print('小明' in student)            # False
print('name' in student)            # True
# len(),max(),min()

dict() - 本身是一個(gè)序列,序列中的元素是小序列,小序列必須有且只有兩個(gè)元素,而且這兩個(gè)元素中的第一個(gè)元素是不可變的
注意:取最大值,最小值是取的key的最大值和最小值
注意:字典轉(zhuǎn)列表/元祖的時(shí)候,是將字典的key取出來作為列表/元祖的元素
print(list(dog))

7.相關(guān)方法

1).字典.clear() - 清空字典

2).字典.copy() - 復(fù)制字典的內(nèi)容,產(chǎn)生一個(gè)新的字典

3).dict.fromkeys(序列,值) - 創(chuàng)建一個(gè)新的字典,將序列中的元素作為新字典的key,指定的值作為每個(gè)元素對(duì)應(yīng)的值

new_dict = dict.fromkeys('abcd', 0)
print(new_dict)

4).字典1.update(字典2) - 將字典2中的鍵值對(duì)添加到字典1中

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

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

  • 本篇依舊屬于Matrix,主要講解Camera,Android下有很多相機(jī)應(yīng)用,其中的美顏相機(jī)更是不少,不過今天這...
    呂侯爺閱讀 1,094評(píng)論 0 5
  • 昨天晚上參加了南京趁早的21天煥新活動(dòng)的同學(xué)交流會(huì),收獲滿滿。雖然去之前已經(jīng)經(jīng)歷了三天的出差,頭痛欲裂,但參加完活...
    職場小能手Sara閱讀 315評(píng)論 0 1
  • 1.安耐曬小金甁/噴霧 2.LANEIGE蘭芝水庫水乳兩件套 蘭芝水庫凝肌水200ml+乳液120ml 贈(zèng)送水庫精...
    港樂樂閱讀 558評(píng)論 0 0
  • 又到了這個(gè)雨季,時(shí)間似乎不期而遇,追尋著一年前消逝的蹤跡,不知有誰會(huì)來到這里。 歲月如同齒輪上的銹跡愈...
    流浪的羅矽閱讀 388評(píng)論 1 10

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