‘==’和‘is’
== - 判斷兩個(gè)數(shù)據(jù)的值是否相等
is - 判斷地址是否相等
python數(shù)據(jù)存儲(chǔ):1.給變量賦值的時(shí)候琼稻,如果數(shù)據(jù)的類(lèi)型是數(shù)字或者字符串,不會(huì)直接開(kāi)辟空間存數(shù)據(jù),而是現(xiàn)在數(shù)字字符串對(duì)應(yīng)的緩存區(qū)里面去查看是否已經(jīng)存儲(chǔ)過(guò)對(duì)應(yīng)的數(shù)據(jù),如果已經(jīng)存了庐船,直接將之前的數(shù)據(jù)對(duì)應(yīng)的地址賦給變量汤求。如果沒(méi)有存儲(chǔ)才會(huì)開(kāi)辟空間存儲(chǔ)數(shù)據(jù)议慰。
其他類(lèi)型的數(shù)據(jù)速址,都是直接開(kāi)辟空間存儲(chǔ)數(shù)據(jù),然后再把地址返回逆粹。
2.容器類(lèi)型中的元素募疮,在容器中不是直接存的值,而是元素值對(duì)應(yīng)的地址
一僻弹、列表相關(guān)方法
1.列表賦值
a.直接使用一個(gè)列表變量給另一個(gè)列表變量賦值阿浓,賦的是地址,賦完值之后蹋绽,對(duì)其中一個(gè)列表進(jìn)行增刪改芭毙,會(huì)影響另一個(gè)列表
b.如果賦值的時(shí)候賦的列表的切片或者拷貝,會(huì)產(chǎn)生新的地址卸耘,然后使用新的地址賦值稿蹲。
賦完值后,兩個(gè)列表相互之間不影響
現(xiàn)象1:
list1 = [1,2,3]
list2 = list1
list2.append(100)
print(list1) #[1,2,3,100]
現(xiàn)象2:
list1 = [1,2,3]
list2 = list1[:]
list2.append(100)
print(list1) #[1,2,3]
2.列表中的方法
a.列表.count(元素) - 獲取指定元素在列表中的次數(shù)
b.列表1.extend(列表) - 將序列中所有的元素都添加到列表中
c.列表.index(元素) - 獲取指定元素的下標(biāo)
注意(1).如果元素有多個(gè)鹊奖,只取第一個(gè)元素的下標(biāo)
(2).如果這個(gè)元素不存在,會(huì)報(bào)錯(cuò)
d.列表.reverse() - 反向列表(將列表元素倒序)
e.列表.sort() - 對(duì)列表進(jìn)行升序排序(從小到大)
注意:列表的要求:
(1)列表的元素類(lèi)型必須一樣
(2)元素支持比較運(yùn)算符
現(xiàn)象1:升序
num = [10,213,32,12]
num.sort()
print(num) #[10, 12, 32, 213]
現(xiàn)象2:降序
num = [10,213,32,12]
num.sort(reverse=True)
print(num) #[213, 32, 12, 10]
f.列表.clear() - 清空列表
g.列表.copy() - 將列表中元素直接復(fù)制一份產(chǎn)生一個(gè)新的列表涂炎。和列表[:]效果一樣
注意:這兒的拷貝是淺拷貝
二忠聚、元祖
1.什么是元祖
元祖就是不可變的列表。(有序唱捣,不可變)
有序 - 可以通過(guò)下標(biāo)獲取元素
不可變 - 不支持增两蟀、刪、改
2.元祖的字面量:通過(guò)小括號(hào)將多個(gè)元素括起來(lái)震缭,多個(gè)元素之間用逗號(hào)隔開(kāi)
a.只要一個(gè)元素的元祖:在元素的后面必須加一個(gè)逗號(hào)
b.直接將多個(gè)數(shù)據(jù)用逗號(hào)隔開(kāi)赂毯,不用括號(hào)括起來(lái),還是一個(gè)元祖值
c.獲取元祖元素
可以通過(guò)變量個(gè)數(shù)和元祖元素個(gè)數(shù)保持一致來(lái)獲取元祖中的每個(gè)元素
(通過(guò)在變量名前加拣宰,獲取沒(méi)有的變量獲取到的元素的剩下部分党涕。以列表形式返回)