日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python中列表的基本操作匯總_python

作者:遇安.112 ? 更新時間: 2022-11-23 編程語言

1、列表的創建與遍歷

與整數和字符串不同,列表要處理一組數據。因此,列表必須通過顯式的數據賦值才能生成,簡單將一個列表賦值給另一個列表不會生成新的列表對象,只會對原有列表生成一個新的引用。

#創建列表
list =[1,2,3,4,5]
list2=list
print(list==list2)# True 就算新建一個列表,然后將原有的值賦值給新的列表。新的列表和原列表還是指向的同一個地址
list[0]=0
print(list,list2) #修改list列表的同時也修改了list2,因為list和list2都是指向的同一個地址
print("====================================")
length=len(list)#獲取列表長度
 
#遍歷
i=0
#為了方便后續操作的觀察,這里采用不換行輸出
while(i<length):
    if (i < length-1):
        print(list[i], end=',')
    else:
        print(list[i],end='')
        print()
    i+=1
print("====================================")
for x in list:
    if (x <length):
        print(x, end=',')
    else:
        print(x,end='')
        print()
   # print(x)
print("====================================")

2、添加元素

列表可以使用append()、extend()或insert()方法來添加元素

2.1、append()方法

在列表末尾添加新的元素

語法格式:list.append(obj)

其中,list表示列表,obj表示添加到列表末尾的對象

#在列表末尾添加元素
list.append(6)
print(list) ##[0, 2, 3, 4, 5, 6] 

2.2、extend()方法

在列表末尾一次性添加另一個序列中的多個值(用新列表擴展原來的列表)

語法格式:list.extend(seq)

其中,list表示列表,seq表示添加到列表末尾的序列

#在列表末尾一次性添加另一個序列中的多個值
list3=[7,8]
list.extend(list3)
print(list) #[0, 2, 3, 4, 5, 6, 7, 8]

2.3、insert()方法

將指定對象插入到列表的指定位置

語法格式:list.insert(index,obj)

其中,list表示列表,index表示插入的索引位置,obj表示插入列表中的對象?

#將元素添加到指定位置,例:在索引位置為1的地方插入1
list.insert(1,1)
print(list) #[0, 1, 2, 3, 4, 5, 6, 7, 8]

3、刪除元素

在列表中,刪除元素的常用方法有:del命令、pop()方法和remove()方法

3.1、del命令

根據索引刪除列表中的元素

#根據索引刪除元素,例:刪除索引位置為0的元素
del list[0]
print(list) #[1, 2, 3, 4, 5, 6, 7, 8]
 
#使用分片的方式輸出列表中的元素
del list[5:7] #包前不包后,5:7即刪除索引為5、6的元素
print(list) #[1, 2, 3, 4, 5, 8]

3.2、pop()方法

根據索引刪除列表中的元素,并返回該元素的值

語法格式:list.pop([index])

其中,list表示列表。index表示刪除列表元素的索引值,為可選參數,缺省時為-1,刪除列表中的最后一個元素。

#根據索引刪除列表中的元素,并返回該元素的值
print(list.pop(5)) #8
print(list) #[1, 2, 3, 4, 5]
#如果沒給索引,則默認刪除列表最后一個元素。即彈棧/出棧
# print(list.pop())
# print(list)

3.3、remove()方法

remove()方法只能刪除列表中某個值的第一個匹配項,如果要刪除所有匹配的元素就需要搭配循環語句實現。

語法格式:list.remove(obj)

#刪除某個值的第一個匹配值
list.remove(3)
print(list) #[1, 2, 4, 5]

4、分片賦值

分片賦值就是以分片的形式給列表賦值,可以一次為多個元素賦值

#替換索引從1包括1開始到最后的元素
list[1:]=[3,6,9]
print(list) #[1, 3, 6, 9]

分片賦值還可以在不替換任何原有元素的情況下插入新的元素

#在索引為2的位置插入列表[4,5]
#[2:1]如果后面的1變成2或者更大的數,則會依次覆蓋/刪除插入位置后面的數
list[2:1]=[4,5]
print(list) #[1, 3, 4, 5, 6, 9]

分片賦值也可以刪除元素

#刪除元素
num=[1,2,3,4,5,6]
print(num) #[1, 2, 3, 4, 5, 6]
num[1:5]=[] #用空列表替換列表中索引1到索引5(不含)的元素
print(num) #[1, 6]

5、列表排序

將列表中的元素排序的方法有3種,分別是reverse()方法、sort()方法和sorted()函數

5.1、reverse()方法

將列表中的元素反向存放

語法格式:list.reverse()

#將列表元素反轉
list.reverse()
print(list) #[9, 6, 5, 4, 3, 1]

5.2、sort()方法

將列表中的元素進行排序(默認為升序)

語法格式:list.sort([key=None])[,reverse=False])

其中,list表示列表,key為可選參數,如果指定了該參數,會使用該參數的方法進行排序。reverse為可選參數,表示是否降序排序,缺省時為False

#將列表排序(默認為升序)
list.sort()
print(list) #[1, 3, 4, 5, 6, 9]
#改為降序排序
list.sort(reverse=True)
print(list) #[9, 6, 5, 4, 3, 1]
 
#按元素長度進行排序(默認升序)
list4=["hello","P","yt","hon"]
list4.sort(key=len)
print(list4) #['P', 'yt', 'hon', 'hello']
#降序
list4.sort(key=len,reverse=True)
print(list4) #['hello', 'hon', 'yt', 'P']

5.3、sorted()函數

與sort()方法不同,內置函數sorted()返回新列表,并不對原列表進行任何修改

語法格式:sorted(iterable[,key=None][,reverse=False])

其中,iterable表示可迭代對象,如列表。參數key和reverse的用法與sort()方法中的相同

#內置函數sorted()返回新列表,不對原列表進行修改
list5=[5,3,4,2,1]
list5_new=sorted(list5)
print(list5==list5_new) # False 列表地址不一致
print(list5) #原列表不變 [5, 3, 4, 2, 1]
print(list5_new) #新列表按升序排列 [1, 2, 3, 4, 5]
#降序
list6=sorted(list5,reverse=True)
print(list6==list5) #False
print(list6) #[5, 4, 3, 2, 1]

完整代碼

list =[1,2,3,4,5]
list2=list
print(list==list2)# True 就算新建一個列表,然后將原有的值賦值給新的列表。新的列表和原列表還是指向的同一個地址
list[0]=0
print(list,list2) #修改list列表的同時也修改了list2,因為list和list2都是指向的同一個地址
print("====================================")
length=len(list)#獲取列表長度
 
#遍歷
i=0
#為了方便后續操作的觀察,這里采用不換行輸出
while(i<length):
    if (i < length-1):
        print(list[i], end=',')
    else:
        print(list[i],end='')
        print()
    i+=1
print("====================================")
for x in list:
    if (x <length):
        print(x, end=',')
    else:
        print(x,end='')
        print()
   # print(x)
print("====================================")
 
# 添加元素
print("添加元素:")
#在列表末尾添加元素
list.append(6)
print(list) ##[0, 2, 3, 4, 5, 6]
 
#在列表末尾一次性添加另一個序列中的多個值
list3=[7,8]
list.extend(list3)
print(list) #[0, 2, 3, 4, 5, 6, 7, 8]
 
#將元素添加到指定位置,例:在索引位置為1的地方插入1
list.insert(1,1)
print(list) #[0, 1, 2, 3, 4, 5, 6, 7, 8]
print("====================================")
 
#刪除元素
print("刪除元素:")
#根據索引刪除元素,例:刪除索引位置為0的元素
del list[0]
print(list) #[1, 2, 3, 4, 5, 6, 7, 8]
 
#使用分片的方式輸出列表中的元素
del list[5:7] #包前不包后,5:7即刪除索引為5、6的元素
print(list) #[1, 2, 3, 4, 5, 8]
 
#根據索引刪除列表中的元素,并返回該元素的值
print(list.pop(5)) #8
print(list) #[1, 2, 3, 4, 5]
#如果沒給索引,則默認刪除列表最后一個元素。即彈棧/出棧
# print(list.pop())
# print(list)
 
#刪除某個值的第一個匹配值
list.remove(3)
print(list) #[1, 2, 4, 5]
print("====================================")
 
#分片賦值
print("分片賦值:")
#替換索引從1包括1開始到最后的元素
list[1:]=[3,6,9]
print(list) #[1, 3, 6, 9]
 
#在索引為2的位置插入列表[4,5]
#[2:1]如果后面的1變成2或者更大的數,則會依次覆蓋/刪除插入位置后面的數
list[2:1]=[4,5]
print(list) #[1, 3, 4, 5, 6, 9]
 
#刪除元素
num=[1,2,3,4,5,6]
print(num) #[1, 2, 3, 4, 5, 6]
num[1:5]=[] #用空列表替換列表中索引1到索引5(不含)的元素
print(num) #[1, 6]
print("====================================")
 
#列表排序
print("排序:")
#將列表元素反轉
list.reverse()
print(list) #[9, 6, 5, 4, 3, 1]
 
#將列表排序(默認為升序)
list.sort()
print(list) #[1, 3, 4, 5, 6, 9]
#改為降序排序
list.sort(reverse=True)
print(list) #[9, 6, 5, 4, 3, 1]
 
#按元素長度進行排序(默認升序)
list4=["hello","P","yt","hon"]
list4.sort(key=len)
print(list4) #['P', 'yt', 'hon', 'hello']
#降序
list4.sort(key=len,reverse=True)
print(list4) #['hello', 'hon', 'yt', 'P']
print("---------------------------------------")
 
#內置函數sorted()返回新列表,不對原列表進行修改
list5=[5,3,4,2,1]
list5_new=sorted(list5)
print(list5==list5_new) # False 列表地址不一致
print(list5) #原列表不變 [5, 3, 4, 2, 1]
print(list5_new) #新列表按升序排列 [1, 2, 3, 4, 5]
#降序
list6=sorted(list5,reverse=True)
print(list6==list5) #False
print(list6) #[5, 4, 3, 2, 1]

原文鏈接:https://blog.csdn.net/qq_62731133/article/details/127260345

欄目分類
最近更新