中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現列表中的增操作

發布時間:2022-03-19 11:18:31 來源:億速云 閱讀:249 作者:小新 欄目:開發技術

小編給大家分享一下python如何實現列表中的增操作,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

列表中的增

對列表的增加操作有兩種,一種是創建一個新的列表,一種是在一個已有的列表中增加一個新元素。我們首先介紹如何創建一個新的列表:

# 創建一個空列表
list1 = []
# 創建一個默認值為0,長度為n的列表
list2 = [0] * n
# 利用列表生成式創建列表
list3 = [i for i in range(10)]
# 5*5 二維列表
list4 = [[i for i in range(5)] for j in range(5)]
# 利用其他數據結構生成列表, list() 函數接收一個可迭代對象作為參數
tuple1 = (1, 2, 3)
list5 = list(tuple1)

# 字符串轉化為列表
str1 = "I love code"
# 每個元素作為列表中的一個元素
list6 = list(str1)
# 按照指定字符分割
list7 = str1.split(" ") # ['I', 'love', 'code']

在編程過程中,有時我們需要對一個列表進行操作,但是列表是一個可變對象,對列表的操作往往會改變其本來的順序結構。因此,當我們不想改變列表原有的順序結構,我們需要對舊的列表進行一個拷貝,然后在新的列表上進行操作。拷貝存在兩種,淺拷貝和深拷貝。可能有人會對這兩種拷貝存在疑問,他們得到的列表的形式不是一樣的嘛?

是的,它們在拷貝后得到的列表形式確實是一樣的。但是在進行操作時,就會有很大的差別了,特別是當你的列表中存在可變對象時。我們只需要記住一點,淺拷貝只復制不可變對象,而深拷貝不僅復制不可變對象,還復制了可變對象。以下進行舉例說明:

# 如果一個列表中的元素都是不可變對象,可以直接用淺拷貝
list1 = [1, 2, 'i']

list2 = list1[::1] # 淺拷貝
list3 = [i for i in list1] # 淺拷貝
import copy
list4 = copy.copy(list1) # 淺拷貝

# 如果一個列表中的元素包含可變對象,要完成復制列表,需要用深拷貝
list5 = ["Will", 1, ["Python", "Java", "C++"]]
list6 = copy.deepcopy(list5)

為什么在包含不可變對象的時候,需要用到深拷貝呢?

上面我們說過,淺拷貝只拷貝不可變對象。當列表中存在可變對象時,我們可以發現其引用 id 是一樣的,即它們是同一個對象,因此對 list5 的操作會影響到 list6 。而在深拷貝中,對于可變對象,在拷貝的新列表中會生成一個新的對象,所以對 list6 的修改不會影響到 list5 。

id(list5[2]) # 2195936916360
id(list6[2]) # 2195936916744

對列表的另一種增加操作就是在已有的列表的基礎上增加元素了,主要包括以下幾種操作:

list1 = ["I"]
# 在列表尾部增加一個新元素
list1.append("love")
# 合并兩個列表
list2 = ["Apple", 3]
list1.extend(list2) # ["I", "love", "Apple", 3]
list1 = list1 + list2 # ["I", "love", "Apple", 3]
# 在指定位置插入元素
list1.insert(index=1, "not") # ["I", "not", "love", "Apple", 3]

以上是“python如何實現列表中的增操作”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麻栗坡县| 隆尧县| 广水市| 乡宁县| 会泽县| 苏尼特右旗| 潍坊市| 察哈| 金乡县| 天全县| 潞城市| 正安县| 二连浩特市| 高陵县| 和林格尔县| 噶尔县| 长治县| 敦化市| 宜君县| 曲阳县| 定襄县| 宣城市| 随州市| 万年县| 苍南县| 贺州市| 胶南市| 沛县| 静安区| 阿鲁科尔沁旗| 柘城县| 哈尔滨市| 朝阳区| 丰城市| 朝阳市| 开阳县| 鲁山县| 景宁| 团风县| 谷城县| 松桃|