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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python列表对象相同_Python中的学习列表对象,List

發布時間:2024/9/27 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python列表对象相同_Python中的学习列表对象,List 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

List(列表) 是 Python 中使用最頻繁的數據類型。

列表可以完成大多數集合類的數據結構實現。列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套)。

列表是寫在方括號 [ ] 之間、用逗號分隔開的元素列表。

和字符串一樣,列表同樣可以被索引和截取,列表被截取后返回一個包含所需元素的新列表。

列表(list)作為 Python 中最常用的數據類型之一,是一個可增加、刪除元素的可變容器。

創建List

list1 = [] # 創建空的list

list2 = [1,'這是list集合',29.5,'121212']

list3 = [2,'abc',[1,2,3]]

基本操作

求 List 內元素的個數

len(list1) # 0

len(list2) # 4

len(list3) # 3

遍歷 List 列表

for _ in list3:

print(f'{_}的類型為{type(_)}')

取出元素

print(list2[1])

增加元素

list3.append([2,4,6])

print(list3)

append 默認增加到 列表尾部。

在指定位置插入元素

list2.insert(2,[2,2,2,2])

print(list2);

在 list2 列表的索引為 2 的地方,插入一個另一個列表元素。

移除列表尾部元素

temp = list2.pop()

print(temp)

pop 方法返回的是 移除的那個元素本身。

移除指定元素

list2.remove('121212')

print(list2)

pop 只能移除列表尾部元素,要想移除其他元素,可以使用remove 方法。

深、淺拷貝

淺拷貝

首先定義有個列表,拿出其中的列表元素。

list1 = ['001','2019-11-11',['薇恩','烏茲']]

list2 = list1[2]

然后對 list2 進行修改,打印列表1 和列表2的值。

list2[1] = 'UZI'

print(list1)

print(list2)

發現 list1 中的元素也對應改變了,因為 list2 引用 list1 的第三個元素,所以 list1 也會相應改變。

如果不想改變 list1 的第三個元素,就需要復制出 list1 的這個元素:

list1 = ['001','2019-11-11',['薇恩','烏茲']]

list2_deep = list1[2].copy()

list2_deep[1] = 'UZI'

print(list1)

print(list2_deep)

此時,再對 list2_deep 操作,便不會影響 list1[2] 的值。

注意:

copy 函數,僅僅實現對內嵌對象的一層拷貝,屬于 shallow copy(淺拷貝)

深拷貝

先看下面的代碼

list = [1,2,[3,4,5]]

new_list = list.copy()

new_list[0] = 10

new_list[2][1] = 40

修改后,分別測試兩個值的相等性。

print(list[0] == new_list[0]) // False

print(list[2][1] == new_list[2][1]) // True

第一個輸出 False,證明實現了拷貝。

第二個輸出 True,證明是淺拷貝,不是深拷貝。copy 只完成了一層 copy。

要想實現深拷貝,需要使用 copy 模塊的 deepcopy 函數:

from copy import deepcopy

list = [1,2,[3,4,5]]

new_list = deepcopy(list)

new_list[0] = 10

new_list[2][1] = 40

print(list[0] == new_list[0]) // False

print(list[2][1] == new_list[2][1]) // False

打印結果,都為 False,證明內嵌的 List 列表也完成了復制。

切片

Java 和 C++ 中,訪問數組中的元素只能一次一個,但 Python 增加切片功能為訪問列表帶來極大便利。利用內置函數 range(start,stop,step) 生成序列數據,并轉為 List 類型。

a = list(range(1,20,3))

print(a)

# 輸出結果:

[1, 4, 7, 10, 13, 16, 19]

a[:3] 獲取列表 a 的前三個元素,返回: [1, 4, 7]

a[-1] 獲取 a 的最后一個元素,返回: 19

a[:-1] 獲取除最后一個元素的切片,返回: [1, 4, 7, 10, 13, 16]

a[1:5] 生成索引為 [1,5)(不包括索引 5),返回: [4, 7, 10, 13]

a[1:5:2] 生成索引 [1,5) ,步長為 2,返回: [4, 10]

a[::3] 生成索引 [0,len(a)) 步長為 3,返回: [1, 10, 19]

a[::-3] 生成逆向索引 [len(a),0) 步長為 3,返回: [19, 10, 1]

逆向:從列表最后一個元素訪問到第一個元素的方向。

逆向列表:

首先定義函數

def reverse(list):

return list[::-1]

調用函數

ra = reverse(a)

print(ra)

# 輸出結果

[19, 16, 13, 10, 7, 4, 1]

總結

以上是生活随笔為你收集整理的python列表对象相同_Python中的学习列表对象,List的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。