目錄
(3)extend:迭代追加,在列表的最後面迭代着追加一組數據
(1)pop:通過索引刪除列表中對應的元素,該方法有返回值,返回值爲刪除的元素
(2)remove: 通過元素刪除列表中該元素,如果刪除的元素不在列表中會報錯
1、列表list
- 列表相比於字符串,不僅可以儲存不同的數據類型,而且可以儲存大量數據,32位python的限制是 536870912 個元素,64位python的限制是 1152921504606846975 個元素。
- 列表是有序的,有索引值,可切片,方便取值。
1.1列表的創建(三種方式)
(1)常用
l1 = [1, 2, '熊貓']
(2)不常用
l1 = list() #空列表
#l1 = list('iterable') #可迭代對象
l1 = list('123')
print(l1) #{1,2,3.4}
(3)列表推導式
l1 = [i for i in range(1,5)]
1.2列表的索引切片
li = ['alex',[1,2,3],'wusir','egon','女神','taibai']
索引
#索引
l1 = li[0]
print(l1) #alex
l2 = li[-1]
print(l2) #taibai
切片
#切片
l3 = li[0:3]
print(l3) #['alex', [1, 2, 3], 'wusir']
l4 = li[:-1]
print(l4) #['alex', [1, 2, 3], 'wusir', 'egon', '女神']
l5 = li[::2]
print(l5) #['alex', 'wusir', '女神']
l6 = li[::-1]
print(l6) #['taibai', '女神', 'egon', 'wusir', [1, 2, 3], 'alex']
1.3增
li = ['taibai','alex','wusir','egon','女神']
(1)append :追加,給列表的最後面追加一個元素
li.append('日天') #['taibai','alex','wusir','egon','女神', '日天']
print(li)
while 1:
username = input('>>>')
if username.strip().upper() == 'Q':
break
else:
li.append(username)
print(li)
(2)insert:在列表的任意位置插入元素
li.insert(4,'春哥')
print(li) #['taibai','alex','wusir','egon','春哥','女神']
(3)extend:迭代追加,在列表的最後面迭代着追加一組數據
li.extend('二哥')
print(li) #['taibai','alex','wusir','egon','女神', '二', '哥']
1.4刪
li = ['taibai','alex','wusir','egon','女神']
(1)pop:通過索引刪除列表中對應的元素,該方法有返回值,返回值爲刪除的元素
name = li.pop(1)
print(name,li) #alex ['taibai', 'wusir', 'egon', '女神']
name = li.pop() #默認刪除最後一個
print(name,li) #女神 ['taibai', 'alex', 'wusir', 'egon']
(2)remove: 通過元素刪除列表中該元素,如果刪除的元素不在列表中會報錯
li.remove('taibai')
print(li) #['alex', 'wusir', 'egon']
(3)clear:清空列表
li.clear()
print(li) #[]
(4)del
del li #刪除列表
print(li) #打印li會報錯,內存中已經沒有li這個變量
#按照索引刪除該元素
del li[1]
print(li) #['taibai', 'wusir', 'egon', '女神']
#切片刪除該元素
del li[1:]
print(li) #['taibai']
#切片(步長)刪除該元素
del li[::2]
print(li) #['alex', 'egon']
1.5改
li = ['taibai','alex','wusir','egon','女神']
#按照索引改值
li[0] = '男獸'
print(li) #['男獸', 'alex', 'wusir', 'egon', '女神']
#按照切片改值(迭代着增加)
li[0:3] = '松鼠asdfghjkl'
print(li) #['鬆', '鼠', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'egon', '女神']
li[0:3] = [1,2,3,'春哥','鹹魚哥']
print(li) #[1, 2, 3, '春哥', '鹹魚哥', 'egon', '女神']
#按照切片(步長)改值(必須一一對應)
#不連續切片替換,替換的值的長度必須和切片的值的長度一致,如果不一致,會報ValueError錯誤
#li[::2]可以取到列表['taibai','wusir','女神'],總共取到三個值,替換的時候也必須替換三個值
li[::2] = '大熊貓'
print(li) #['大', 'alex', '熊', 'egon', '貓']
li[::2] = [1,2,3]
print(li) #[1, 'alex', 2, 'egon', 3]
1.6查
li = ['taibai','alex','wusir','egon','女神']
#for循環
for i in li:
print(i)
#索引
li[0]
1.7公共方法
li = ['taibai','alex','wusir','egon','女神']
(1)len:計算列表的長度
l = len(li)
print(l) #5
(2)count:查找元素在列表中出現的次數
num = li.count('taibai')
print(num) #1
(3)index:找元素的索引,找不到報錯
i = li.index('wusir')
print(i) #2
(4)排序
ls = [1,5,4,7,6,2,3]
#正向排序
ls.sort()
print(ls) #[1, 2, 3, 4, 5, 6, 7]
#反向排序
ls.sort(reverse=True)
print(ls) #[7, 6, 5, 4, 3, 2, 1]
(5)反轉
#反轉
ls = [1,5,4,7,6,2,3]
ls.reverse()
print(ls)
1.8 列表的嵌套
li = ['taibai','武藤蘭','苑昊',['alex','egon',89],23]
print(li[1][1]) #藤
name = li[0].capitalize()
li[0] = name
print(li) #['Taibai', '武藤蘭', '苑昊', ['alex', 'egon', 89], 23]
li[2] = li[2].replace('昊','ritian')
print(li[2].replace('昊','ritian')) #苑日天
print(li) #['Taibai', '武藤蘭', '苑日天', ['alex', 'egon', 89], 23]
li[3][0] = li[3][0].upper()
print(li) #['Taibai', '武藤蘭', '苑日天', ['ALEX', 'egon', 89], 23]