認識列表
1、列表是python中的容器類數(shù)據(jù)類型叶撒,可以用來存儲多個數(shù)據(jù)
是可變的栏饮,有序的
可變是指列表中元素的值汤求、位置和長度可變,列表可以進行增刪改
有序指可以通過下標獲取元素
2市怎、字面量:
[元素,元素,元素隐岛,……]
列表中的元素可以是任何類型的數(shù)據(jù),包含整型浮點等數(shù)據(jù)類型瓷翻,
還可以有列表聚凹、字典、元祖齐帚、集合妒牙、函數(shù)、類的對象等对妄,變量也可以作為列表中的元素
list = [1,32,"abc"]
聲明了一個變量list湘今,數(shù)據(jù)類型是列表,包含3個元素1,32剪菱,"abc"
name = "路飛"
names = ['小明'摩瞎,'小花'拴签,'小紅',name]
獲取列表中的元素
1旗们、獲取單個元素
"""
列表[下標]
說明:列表一旦確定蚓哩,列表中每個元素的下標就確定了,范圍0列表長度-1或-1-列表長度
"""
2上渴、獲取多個元素(切片)---> 結果是列表
'''
和字符串切片一樣
列表[起始下標:結束下標],列表[起始下標:結束下標:步長]
從起始下標開始驰贷,獲取到結束下標前為止
列表中元素的增刪改
films = ['Iron Man','蜘蛛俠','逐夢演藝圈','小時代']
1盛嘿、增加元素
'''
a、列表.append(元素)
在列表最后添加一個元素
b括袒、列表.insert(下標次兆,元素)
在指定的下標前添加指定元素
'''
films.append('Captain America')
films.insert(1,"Halk")
print(films)
2、刪除元素
'''
a锹锰、del 列表[下標]
刪除列表中指定位置的元素
b芥炭、列表.remove(元素)
刪除列表中指定元素
如果該元素在列表中有多個,只刪除第一個
c恃慧、列表.pop()
將列表中最后一個元素取出
列表.pop(下標)
將列表中指定下標對應的元素取出
'''
heros = ['蓋倫','石頭','劫','亞索']
del heros[2]
print(heros)
heros.remove('蓋倫')
print(heros)
hero = heros.pop
3园蝠、修改列表中的元素
'''
列表[下標] = 新值
修改指定下標對應的元素
'''
teacher = ['aaa','bbb','ccc']
teacher[0]= 'ddd'
print(teacher)
列表相關運算
1、列表加法運算+
"""
列表1 + 列表2
將列表1和列表2中的元素合并痢士,產(chǎn)生一個新的列表
"""
list1 = [1,2,3]
list2 = ['a','b','c']
list3 = list1+list2
print(list3)
2彪薛、列表乘法運算*
"""
列表*n
列表中的元素重復n次,產(chǎn)生一個新的列表
"""
print(list1*3)
3怠蹂、比較運算
'''
列表1 == 列表2
判斷兩個列表元素是否相等
4善延、補充:
是否相等的兩種方式:==和is
一個變量有id、value和type三個元素
id:數(shù)據(jù)在內(nèi)存中的地址
value:數(shù)據(jù)的值
type:數(shù)據(jù)的類型
Python中存數(shù)據(jù)存的是數(shù)據(jù)的id城侧,取出時取出的是value
變量給變量賦值易遣,賦的是地址(id)
==:判斷的是值是否相等,或列表中的元素是否相等
is:判斷的是地址是否相等
'''
list15 = [1,2,3]
list25 = [1,2,3]
print(list15[0] is list25[0])
list21 = ['a','aa','aaa']
list22 = list21#將21的地址賦給22
list22.append('aaaa')
print(list21)
list23 = list21[:]
list23.pop(0)
print(list21)
總結:
用一個列表給另一個列表賦值時嫌佑,如果是直接賦值豆茫,
可能會因為修改其中一個列表的元素而改變另一個,
若不想相互影響屋摇,直接賦切片或者直接拷貝
列表相關方法
1揩魂、元素1 in 列表1
元素1是否是列表1的元素
元素2 not in 列表2
元素2是否不是列表2的元素
'''
2、len()
'''
len(列表)--->獲取列表長度
'''
3炮温、max()和min()
'''
max(列表)--->獲取列表中元素最大值
min(列表)--->獲取列表中元素最小值
ps:
a火脉、列表中元素的數(shù)據(jù)類型必須一致
b、列表中元素必須支持>,<操作
'''
4、list(數(shù)據(jù))
'''
list(數(shù)據(jù))--->將指定數(shù)據(jù)轉化乘列表
ps:只有序列可以轉化為列表
序列:字符忘分、range、列表白修、字典妒峦、元祖、集合兵睛、迭代器
'''
5肯骇、'''方法count()
列表.count(元素)--->獲取指定元素在列表中的個數(shù)
'''
6、extend()
'''
列表.extend(序列)--->將序列中的元素添加到列表中
'''
7祖很、index()
'''
列表.index(元素)--->獲取指定元素在列表中的下標
ps:如果元素在列表中有多個笛丙,獲取第一個該元素的下標
若元素不存在則報錯
'''
8、reverse()
'''
列表.reverse()
將列表中的元素倒序
'''
9假颇、sort()
'''
列表.sort()--->將列表中的元素有小到大排序
列表.sort(reverse = True)--->將列表中的元素有大到小排序
ps:
a胚鸯、列表中元素的數(shù)據(jù)類型必須一致
b、列表中元素必須支持>操作
'''
10笨鸡、sorted()
'''
將原列表升序排序姜钳,生成新列表,不改變原列表順序
score = [1,52,32,4,35]
new_score = sorted(score)
print(new_score)
print(score)
也可以new_score = sorted(score哥桥,reverse = True)
'''
11拟糕、copy()
'''
列表.copy--->將列表中的元素復制一份送滞,產(chǎn)生一個新列表累澡,跟列表[:]功能一樣
D07練習題
通過for循環(huán)直接遍歷一個列表愧哟,拿到的就是列表中每個元素
'''numbers = [1,2,3,4,5]
for x in numbers:
print(x)
for index in range(len(numbers)):
print(index,number[index])'''
"""
1、用一個列表保存5個學生的成績肥矢,去求這個班學生的總成績
grade = 0
grades = [13,65,87,98,66]
for x in grades:
grade += x
print(grade)
2甘改、用一個列表,保存多個人的名字(英文)抵代,將列表中所有人的名字首字母大寫
names = ['harry','loly','Huang','coco','james','haha']
for index in range(len(names)):
name = names[index]
names[index] = name.upper()
print(names)
3、刪除一個列表中康吵,名字首字母是H的人的名字
for name in names[:]:
if name[0] == 'H':
names.remove(name)
print(names)
index = 0
while index < len(names):
name = names(index)
if name[0] == 'H':
del name[index]
continue
index += 1
print(names)
"""
4晦嵌、用一個列表遍歷一個班成績耍铜,刪除不及格的成績
gradess = [12,45,66,44,22,89,90]
'''
for grade1 in gradess[:]:
if grade1 < 60:
gradess.remove(grade1)
print(gradess)
'''
index = 0
while index < len(gradess):
grade = gradess[index]
if grade < 60:
gradess.pop(0)
continue
index += 1
print(gradess)