'''
列表操作
'''
'''
創(chuàng)建列表
有兩種方式:
1.直接使用賦值運算符創(chuàng)建列表
2.使用list()函數(shù),list函數(shù)用于將可迭代類型的數(shù)據(jù)轉(zhuǎn)換成列表。
例如 range對象,字符串,元組等
'''
# data=[1,2,3,4,5]
stuple = (10, 32, 73, 24, 15, 66, 90, 67, 54)
data = list(stuple)
'''
訪問列表元素
切片操作
'''
print('輸出列表的內(nèi)容:', data)
print('輸出索引為1的元素:', data[1])
print('返回包含原列表中的所有元素的新列表:', data[::])
print('逆序輸出列表元素:', data[::-1])
print('輸出列表索引為奇數(shù)的元素:', data[::2])
print('輸出列表索引為偶數(shù)的元素:', data[1::2])
print('指定切片開始和結(jié)束的索引:', data[1:4])
print('結(jié)束位置的值大于列表長度時,從列表尾部截斷:', data[2:100])
print('開始位置的值大于列表長度時,返回空列表:', data[100:])
'''
遍歷列表
有兩種方式:
1.直接使用for循環(huán)實現(xiàn)
2.使用for循環(huán)和enumerate()函數(shù)實現(xiàn)
'''
# 1.直接使用for循環(huán)實現(xiàn)
for item in data:
print(item, end=' ')
# 2.使用for循環(huán)和enumerate()函數(shù)實現(xiàn)??梢詫崿F(xiàn)同時輸出索引值和元素內(nèi)容
for index, item in enumerate(data):
print('索引為%d,元素為%d' % (index, item))
'''
添加操作
有四種實現(xiàn)方法:
1.用加號"+",將兩個列表相連接
2.用append()方法,元素添加到列表的尾部
3.用insert()方法,向列表的指定位置添加元素,但執(zhí)行效率也沒有append()高
4.用extend()方法,將一個列表添加到另一個列表的后面
總結(jié):append,insert,extent這三個方法都可以對列表的元素進行操作,沒有返回值,
直接修改了原數(shù)據(jù)對象
而用“+”將兩個列表相連接,需要創(chuàng)建新的列表對象,從而需要消耗額外的內(nèi)存
'''
# 1.用加號"+",將兩個列表相連接
data1 = list(range(4))
data2 = ['a', 'b', 'c']
print('data1+data2=%s' % (data1 + data2))
# 2.用append()方法,元素添加到列表的尾部
data1.append('x')
data1.append('y')
print('data1:', data1)
# 3.用insert()方法,向列表的指定位置添加元素
data1.insert(1, '小明')
data1.insert(4, '小強')
print('data1:', data1)
# 4.用extend()方法,將一個列表添加到另一個列表的后面
data2.extend('w')
print('data2:', data2)
data2.extend(['o', 'p', 'q'])
print('data2:', data2)
'''
修改元素
通過索引獲取元素,然后再為其重新賦值
'''
data4 = ['小汪', '小明', '小強', '旺財']
data4[2] = '小紅'
print('將索引為%d的元素修改為%s:' % (2, '小紅'), data4)
'''
對列表進行統(tǒng)計計算
1.獲取指定元素出現(xiàn)的次數(shù)
2.獲取指定元素首次出現(xiàn)的位置索引
3.統(tǒng)計數(shù)值列表的元素和
'''
# 1.獲取指定元素出現(xiàn)的次數(shù)
data5 = [12, 32, 34, 12, 43, 56, 32, 32]
print("元素%d在列表中的重復(fù)次數(shù)為%d次。" % (12, data5.count(12)))
print("元素%d在列表中的重復(fù)次數(shù)為%d次。" % (32, data5.count(32)))
# 2.獲取指定元素首次出現(xiàn)的位置索引
print("元素%d在列表中的第%d個位置。" % (32, data5.index(32) + 1))
# 3.統(tǒng)計數(shù)值列表的元素和,以切片的方式計算
print('整個列表的元素和:%d' % sum(data5))
print(data5[1:4])
print('從第一個位置到第四個位置的元素和:', sum(data5[1:4]))
'''
對列表元素進行排序操作
有三種實現(xiàn)方式:
1.使用列表對象的sort()方法實現(xiàn),默認為升序排列
2.使用內(nèi)置的sorted()函數(shù)實現(xiàn)
3.使用reverse()方法將列表逆序輸出
'''
# 1.使用列表對象的sort(key=None,reverse=False)方法實現(xiàn),默認為升序排列,無返回值
# 注意:參數(shù)key表示比較鍵,例如key=str.lower,表示排序時不區(qū)分大小寫
# reverse=False:表示按升序排列;reverse=True:表示按降序排列
data6 = [43, 67, 54, 78, 90, 21, 34]
data6.sort()
print('按照升序輸出列表:', data6)
data6.sort(reverse=True)
print('按照降序輸出列表:', data6)
# 2.使用內(nèi)置的sorted()函數(shù)實現(xiàn),有返回值
print('使用內(nèi)置函數(shù)sorted()按照升序輸出列表:', sorted(data6))
print('使用內(nèi)置函數(shù)sorted()按照降序輸出列表:', sorted(data6, reverse=True))
# 3.使用reverse()方法將列表逆序輸出,相當于從后往前輸出元素,無返回值
data6.reverse()
print("使用reverse()方法將列表逆序輸出:", data6)
'''
刪除元素
有三種實現(xiàn)方式:
1.根據(jù)索引刪除元素:del語句,pop()方法
2.根據(jù)元素值刪除:remove()方法
3.clear()方法清空列表,但還保留列表的對象
4.刪除整個列表:del語句
'''
# 1.根據(jù)索引刪除元素
del data4[1]
print('刪除索引為%d的元素:' % 1, data4)
data4.pop(2)
print('刪除索引為%d的元素:' % 2, data4)
# 2.根據(jù)元素值刪除
data4.remove('小紅')
print('將元素為%s刪除:' % '小紅', data4)
#3.clear()方法清空列表,但還保留列表的對象
data4.clear()
print('執(zhí)行清空列表后:',data4)
# 4.刪除整個列表
# del語句在實際開發(fā)中并不常用,因為Python自帶的垃圾回收機制會自動銷毀不用的列表.
del data
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » python列表基本操作示例