日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python入门学习—列表(FishC)

發(fā)布時間:2023/12/20 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python入门学习—列表(FishC) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

列表

增添元素

1、append()

>>> heros = ["雷神","鋼鐵俠"] >>> heros.append("黑寡婦") >>> print(heros) ['雷神', '鋼鐵俠', '黑寡婦']

使用append() 只能添加單一元素進(jìn)列表
2、extend()

>>> print(heros) ['雷神', '鋼鐵俠', '黑寡婦'] >>> heros.extend(["綠巨人","滅霸","鷹眼"]) >>> print(heros) ['雷神', '鋼鐵俠', '黑寡婦', '綠巨人', '滅霸', '鷹眼']

extend()可一次性向列表中多個元素

3、直接利用切片添加元素

>>> s[len(s):] = [6] >>> s = [1,2,3,4,5] >>> s[len(s):] = [6] >>> s [1, 2, 3, 4, 5, 6] >>> s[len(s):] = [7,8,9] >>> s [1, 2, 3, 4, 5, 6, 7, 8, 9]

將待添加的元素直接附加到原始列表最后一個元素之后
4、在列表任意位置插入元素
insert(location,element)
location: 待插入元素下標(biāo)
element: 待插入元素

>>> s = [1,3,4,5] >>> s.insert(1,2) >>> s [1, 2, 3, 4, 5] >>> s.insert(0,0) >>> s [0, 1, 2, 3, 4, 5] >>> s.insert(len(s),6) >>> s [0, 1, 2, 3, 4, 5, 6] >>>

刪除元素

1、刪除指定元素
remove()

>>> print(heros) ['雷神', '鋼鐵俠', '黑寡婦', '綠巨人', '滅霸', '鷹眼'] >>> heros.remove("滅霸") >>> heros ['雷神', '鋼鐵俠', '黑寡婦', '綠巨人', '鷹眼']

注意 若存在多個與指定元素相同的元素,remove()方法只會刪除下標(biāo)最小的元素
注意 若指定元素不存在,則程序報錯
2、刪除指定位置的元素
pop()

>>> heros ['雷神', '鋼鐵俠', '黑寡婦', '綠巨人', '鷹眼'] >>> heros.pop(2) '黑寡婦' >>> heros ['雷神', '鋼鐵俠', '綠巨人', '鷹眼']

3、清空列表
clear()

>>> heros.clear() >>> heros []

列表元素替換

1、根據(jù)下表索引直接替換

>>> heros = ["蜘蛛俠","綠巨人","黑寡婦","鷹眼","滅霸","雷神"] >>> heros[4] = "鋼鐵俠" >>> heros ['蜘蛛俠', '綠巨人', '黑寡婦', '鷹眼', '鋼鐵俠', '雷神']

2、使用切片替換連續(xù)位置元素
替換對應(yīng)數(shù)量的元素

>>> heros ['蜘蛛俠', '綠巨人', '黑寡婦', '鷹眼', '鋼鐵俠', '雷神'] >>> heros[3:] = ["武松","林沖","李逵"] >>> heros ['蜘蛛俠', '綠巨人', '黑寡婦', '武松', '林沖', '李逵']

替換的同時增加刪減元素

>>> heros = ["蜘蛛俠","綠巨人","黑寡婦","鷹眼","滅霸","雷神"] >>> heros[3:] = ["武松","林沖","李逵","宋江"] >>> heros ['蜘蛛俠', '綠巨人', '黑寡婦', '武松', '林沖', '李逵', '宋江'] >>> heros[3:] = ["武松","林沖"] >>> heros ['蜘蛛俠', '綠巨人', '黑寡婦', '武松', '林沖']

列表元素排序

1、數(shù)值型列表元素排序
sort() 由小到大順序排序
注意 sort()默認(rèn)情況下reverse = False,當(dāng)指定sort(reverse = True)時,列表將按照從大到小排序
reverse() 將列表元素逆序排序

>>> nums = [3,5,1,6,9,4,0,5] >>> nums.sort() >>> nums [0, 1, 3, 4, 5, 5, 6, 9] >>> nums.reverse() >>> nums [9, 6, 5, 5, 4, 3, 1, 0]

2、非數(shù)值型列表元素排序
reverse() 方法將列表元素逆序排序

>>> heros ['蜘蛛俠', '綠巨人', '黑寡婦', '武松', '林沖'] >>> heros.reverse() >>> heros ['林沖', '武松', '黑寡婦', '綠巨人', '蜘蛛俠']

列表元素查找

1、查找某元素出現(xiàn)次數(shù)
count() 查找該元素在列表中的出現(xiàn)次數(shù)

>>> nums [5, 0, 4, 9, 6, 1, 5, 3] >>> nums.count(5) 2

2、查找某元素對應(yīng)的下標(biāo)索引
index(x) 查找x第一次出現(xiàn)的下標(biāo)索引值
index(x,start,end) 查找指定范圍內(nèi)的列表元素

>>> nums = [3,5,1,6,9,4,0,5] >>> nums.index(5) 1 >>> nums.index(5,3,8) 7

列表拷貝

1、copy()

>>> nums_copy1= nums.copy() >>> nums_copy1 [3, 5, 1, 6, 9, 4, 0, 5]

2、切片拷貝

>>> nums_copy2 = nums[:] >>> nums_copy2 [3, 5, 1, 6, 9, 4, 0, 5]

列表拼接與重復(fù)

>>> s = [1,2,3] >>> t = [4,5,6] >>> s+t [1, 2, 3, 4, 5, 6] >>> s*3 [1, 2, 3, 1, 2, 3, 1, 2, 3]

copy模塊列表拷貝

1、copy.copy() 實(shí)現(xiàn)淺拷貝,當(dāng)存在嵌套列表時修改原始列表元素,拷貝后的列表元素也隨之改變
列表存在嵌套情況時,拷貝只對內(nèi)部嵌套其引用作用,未復(fù)制其對應(yīng)元素作為新的地址保存

>>> import copy >>> x = [[1,2,3],[4,5,6],[7,8,9]] >>> y = copy.copy(x) >>> x[1][1] = 0 >>> x [[1, 2, 3], [4, 0, 6], [7, 8, 9]] >>> y [[1, 2, 3], [4, 0, 6], [7, 8, 9]]

注意 使用時需先導(dǎo)入該模塊
2、copy.deepcopy() 深拷貝,修改原始列表中的元素,拷貝后的列表元素不隨之改變

>>> x = [[1,2,3],[4,5,6],[7,8,9]] >>> y = copy.deepcopy(x) >>> x[1][1] = 0 >>> x [[1, 2, 3], [4, 0, 6], [7, 8, 9]] >>> y [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

列表推導(dǎo)式(為保證代碼的可讀性與簡潔性,酌情使用)


for target in iterable :循環(huán)體
expression : 循環(huán)執(zhí)行的語句

>>> x = [i for i in range(10)] >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

優(yōu)點(diǎn) 相較于for循環(huán),列表推導(dǎo)式在python中以c語言方式執(zhí)行,在編譯器中執(zhí)行速度更快,效率更高
1、對字符串元素進(jìn)行重復(fù)

>>> y = [c*2 for c in "FishC"] >>> y ['FF', 'ii', 'ss', 'hh', 'CC'] >>> code = [ord(c) for c in "FishC"] >>> code [70, 105, 115, 104, 67]

2、獲取矩陣中的某些元素

>>> matrix = [[1,2,3],[4,5,6],[7,8,9]] ##獲取第二列元素 >>> col2 = [row[1] for row in matrix] >>> col2 [2, 5, 8] ##獲取對角元素 >>> diag = [matrix[i][i] for i in range(len(matrix))] >>> diag [1, 5, 9]

3、列表推導(dǎo)式中添加用于篩選的if分句


該語句中各語句的執(zhí)行順序

4、嵌套的列表推導(dǎo)式對應(yīng)于嵌套循環(huán)

>>> matrix = [[1,2,3],[4,5,6],[7,8,9]] >>> flatten = [col for row in matrix for col in row] >>> flatten [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> flatten = [] >>> for row in matrix:for col in row:flatten.append(col)>>> flatten [1, 2, 3, 4, 5, 6, 7, 8, 9]

前面的for 對應(yīng)外層循環(huán),后一個for對應(yīng)內(nèi)層循環(huán)

5、列表推導(dǎo)式終極形式

總結(jié)

以上是生活随笔為你收集整理的Python入门学习—列表(FishC)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。