day06_python _列表

list(列表)

常規(guī):
列表是python中的容器類型饥臂。有序的街佑,可變的容器(可變指的是列表中的元素和元素的位置、個數(shù)可變)屹徘。
有序 -> 可以通過下標(biāo)來獲取元素
可變 -> 可以進行增刪改(查)
元素:指的是列表中的每一個內(nèi)容走趋。列表中的元素可以是任意類型的數(shù)據(jù)

1.列表的聲明

a.聲明變量賦一個列表的值
聲明了一個列表,列表中有3個元素噪伊,分別是'余婷',18,'女' (一個列表中的元素的類型可以不一樣)

person = ['余婷', 18, '女']
print(person)

注意: [] --> 代表空列表(很有用的)
b.將其他的數(shù)據(jù)類型轉(zhuǎn)換成列表(只有序列才能轉(zhuǎn)換:字符串和range,字典吆视、元祖、集合酥宴、生成式和迭代器)
使用list()
例如:

chars = list('abcdef')
print(chars)

numbers = list(range(10))
print(numbers)

2.列表的增刪改查

1.查: 獲取列表元素

a.獲取單個元素:列表[下標(biāo)]
下標(biāo)范圍:0 ~ 元素個數(shù)-1 或者 -1 ~ -元素個數(shù)
注意: 下標(biāo)不能越界
b.獲取部分元素(切片): 列表[下標(biāo)1:下標(biāo)2] / 列表[下標(biāo)1:下標(biāo)2:步進]
從下標(biāo)1開始獲取下標(biāo)2前為止(注意:下標(biāo)2對應(yīng)的值是取不到)
步進值是正的就從前往后取,步進是負的就從后往前取
結(jié)果是列表;這兒的下標(biāo)可以越界
c.遍歷(一個一個的獲取每個元素)
可以將列表直接放到for循環(huán)的in的后邊您觉。
循環(huán)過程中拙寡,for后面的變量取的是列表中的每個元素

2.改(修改元素的值)

語法: 列表名[下標(biāo)] = 新值 (通過下標(biāo)獲取元素,然后重新賦值)
注意:下標(biāo)不能越界
如:

person = ['小明', 35, '乒乓球']
person[1] = 25
print(person)# 修改person列表中下標(biāo)是1的元素的值琳水,修改為25
3.增(增加列表的元素,添加元素)

注意: 列表中元素的個數(shù)發(fā)生改變后肆糕,列表中每個元素的下標(biāo)會根據(jù)新的位置重新分配
a.列表.append(元素) : 在列表的最后去添加一個元素

list.append('')

b.列表.insert(下標(biāo),元素) : 在指定的下標(biāo)前插入一個元素

list.insert('')
4.刪(刪除列表中的元素)

a. del 列表[下標(biāo)] ---> 根據(jù)下標(biāo)去刪除列表中的元素
del 語句是python中刪除數(shù)據(jù)的語法,它可以刪除任何數(shù)據(jù): del 變量(刪除變量) del 列表(刪除整個列表)

del list[]

b. 列表.remove(元素) ---> 刪除列表中的某個值
注意:如果這個元素在列表中有多個在孝,只刪除最前面的那一個

list.remove()

c. 列表.pop(下標(biāo)) ---> 將列表中指定下標(biāo)對應(yīng)的元素取出來

a=list.pop(1) #將list中下標(biāo)是1對應(yīng)的元素取出來诚啃,保存到變量a中

注意:以后遍歷列表的元素的時候,我們一般遍歷它的拷貝的值([:])

4-列表數(shù)據(jù)的存儲

python中私沮,變量在存數(shù)據(jù)的值的時候始赎,會根據(jù)數(shù)據(jù)類型的不同,使用兩種方式來存值
值類型:變量存數(shù)據(jù)直接存值仔燕,例如:整型造垛、浮點型、布爾晰搀、字符串
引用類型:變量存數(shù)據(jù)的時候五辽,存的是數(shù)據(jù)在內(nèi)存中的地址。例如:列表外恕、字典杆逗、元祖、集合鳞疲、函數(shù)罪郊、自定義的類的對象等!

a1 = [1, 2]
b1 = a1
c1 = a1[:]
print(a1, b1)#[1, 2] [1, 2]
a1.append(100)
print(a1, b1,c1)#[1, 2, 100] [1, 2, 100] [1, 2]

引用類型賦值的時候賦的是地址
先將列表a1中的元素拷貝一份存到一個新的地址中建丧,然后把新的地址賦給c1


01.png

當(dāng)b1=a1時b1的地址與a1的地址相等 所以 當(dāng)a1.append(100)時
列表的里的元素增加了 地址沒有變
所以b1 也會增加元素

02.png

c1 = a1[:] 代表列表a1中的元素拷貝一份存到一個新的地址中排龄,然后把新的地址賦給c1
所以 當(dāng)a1.append(100)時.c1的地址與a1不相同
并且c1不會增加元素

5-列表相關(guān)的運算

1. +操作

列表1 + 列表2:將列表1中元素和列表2中的元依次合并,產(chǎn)生一個新的列表

2. * 操作

列表1 * N:將列表1中元素重復(fù)N次,產(chǎn)生一個新的列表

3. in / not in

元素 in 列表 : 判斷一個元素是否在列表中

4. 求列表的長度

len(序列)

print(len([1, 2, 3]))#3

5.相關(guān)的方法

5.1 列表.count(元素) :統(tǒng)計指定的元素在指定列表中有幾個
5.2 列表.extend(序列) : 將序列中的元素添加到列表中
5.3 列表.index(元素) : 獲取指定元素對應(yīng)的第一個下標(biāo)
5.4 列表.pop() : 將列表中的最后一個元素從列表中取出來
5.5 列表.reverse() : 將列表中的元素反序
5.6 列表.sort(): 對列表元素進行排序(默認是升序)
擴展:列表.sort(reverse=True): 對列表元素進行降序排序
5.7 列表.clear(): 將列表中的元素全部清除
5.8 列表.copy(): 將列表中的元素全部拷貝一份產(chǎn)生一個新的列表橄维,相當(dāng)于列表[:]尺铣。
注意:這兒的拷貝是淺拷貝
總結(jié):
淺拷貝:只是單純的將值拷貝(如果是對象就直接拷貝對象的地址)


3.png

深拷貝:會拷貝對象地址對應(yīng)的值,產(chǎn)生一個新的地址争舞,然后將新的地址進行賦值


4.png

6.tuple(元祖)

元祖就是不可變的列表凛忿。列表中除了和可變相關(guān)的內(nèi)容以外,其他的全部適用于元祖
不支持增竞川、刪除店溢、修改,只支持和查相關(guān)的操作
1.聲明元祖
tuple1= (1, 2, 'abc', True, [1, 2])
注意:如果要寫一個元祖元素個數(shù)是1的字面量委乌,需要在那一個元素的后面加逗號
例如:t2 = (100,)
2.() --> 空的元祖
t3 = ()
3.特殊操作
a.通過兩個變量來獲取元祖中的唯一的兩個元素的值

point = (100, 200, 'red')
x, y, color = point
print(x, y)#100,200

b.通過在變量前加*,獲取元祖/列表中的一部分元素值床牧,結(jié)果是一個列表

user = ('小呂', 90, 98, 56, 100, '男')
name, *score, sex = user
print(name, score, sex)#小呂 [90, 98, 56, 100] 男

user2 = ('小紅', 90, 100, 89, 67, 78)
name, *score = user2
print(name, score)#小紅 [90, 100, 89, 67, 78]

*score, name, sex = (89, 98, 78, 67, '小藍', 'boy')
print(score, name, sex)#[89, 98, 78, 67] 小藍 boy

4.多個值之間用逗號隔開,對應(yīng)的數(shù)據(jù)也是元祖

a = 1, 2, 3, 4    # 相當(dāng)于 a = (1, 2, 3, 4, 5)
print(a,  type(a))

x, y = 100, 200  # 相當(dāng)于x,y = (100, 200)
print(x, y)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末遭贸,一起剝皮案震驚了整個濱河市戈咳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壕吹,老刑警劉巖著蛙,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異耳贬,居然都是意外死亡踏堡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進店門咒劲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顷蟆,“玉大人,你說我怎么就攤上這事缎患∧降模” “怎么了?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵挤渔,是天一觀的道長肮街。 經(jīng)常有香客問我,道長判导,這世上最難降的妖魔是什么嫉父? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮眼刃,結(jié)果婚禮上绕辖,老公的妹妹穿的比我還像新娘。我一直安慰自己擂红,他們只是感情好仪际,可當(dāng)我...
    茶點故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般树碱。 火紅的嫁衣襯著肌膚如雪肯适。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天成榜,我揣著相機與錄音框舔,去河邊找鬼。 笑死赎婚,一個胖子當(dāng)著我的面吹牛刘绣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挣输,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼纬凤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了撩嚼?” 一聲冷哼從身側(cè)響起移斩,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绢馍,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肠套,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡舰涌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了你稚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓷耙。...
    茶點故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖刁赖,靈堂內(nèi)的尸體忽然破棺而出搁痛,到底是詐尸還是另有隱情,我是刑警寧澤宇弛,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布鸡典,位于F島的核電站,受9級特大地震影響枪芒,放射性物質(zhì)發(fā)生泄漏彻况。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一舅踪、第九天 我趴在偏房一處隱蔽的房頂上張望纽甘。 院中可真熱鬧,春花似錦抽碌、人聲如沸悍赢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽左权。三九已至皮胡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間涮总,已是汗流浹背胸囱。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瀑梗,地道東北人烹笔。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像抛丽,于是被迫代替她去往敵國和親谤职。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容