python中的set函數、列表的操作


一、set函數

set()函數創建一個無序不重復元素集,可進行關系測試,刪除重復數據,還可以計算交集、差集、並集等。

例題:

1、set函數求交集(&)、差集(-)、並集(|)

s1 = set('here')
s2 = set('hello')
print(s1-s2)#差集
print(s1&s2)#交集
print(s1|s2)#並集

結果:

 

2、刪除元素的重復項

(1)使用set函數

S = {"python","apple","123","123","a"} print(set(S))

運行結果:

二、列表的操作

(一)、列表的概念

列表(list)是包含0個或者多個對象引用的有序序列,屬於序列類型。與元組不同,列表的長度和內容都是可變的,可以對列表的內容進行增加、刪除或者替換。列表沒有長度限制,元素類型也可以不同,使用非常的靈活。列表中括號用[]表示,也可以通過list()函數將元組或字符串轉化成列表。直接使用list()函數返回一個空列表。

(二)、列表的操作類型

列表是序列類型,下列將給出幾種常用的函數或方法:

函數或方法 描述
ls[i]=x 替換列表ls第i數據項為x
ls[i:j]=lt 用列表lt替換列表ls中i到j項數據
ls[i:j:k]=lt 用列表lt替換列表ls中的第i到j項以k為步數的數據
del ls[i:j] 刪除列表中i到j項數據等價於ls[i:j]=[]
del ls[i:j:k] 刪除列表中i到j項以k為步數的數據
ls+=lt或者ls.extend(lt) 將列表lt中元素增加到列表ls中
ls*=n 更新列表ls,元素重復n次
ls.append(x) 在列表ls中最后增加一個元素x
ls.clear() 刪除ls中的所有元素
ls.copy() 生成一個新列表,復制ls中的所有元素
ls.insert(i,x) 在列表ls中第i個位置增加x
ls.pop(i) 取出列表中的第i項元素,並刪除該元素
ls.remove(x) 將列表中第一個出現的x元素刪除
ls.reverse(x) 列表中的元素反轉

 代碼分析:

list = ['apple','hello','q','ben','hello'] # 輸出列表
print(list) # 替換列表中的第i項為x
list[0]='fruit'
print(list) # 用列表ls替換列表list中的第i到第j項數據
ls=['a','h','s'] list[0:2]=ls print(list) # 用列表ls替換列表list中的第i到j項以k為步數的數據
list[0:2:1]=ls print(list) # 刪除列表中i到j項數據等價於ls[i:j]=[]
del list[0:2] # list[0:2]=[]
print(list) # 在列表ls中最后增加一個元素x
list.append('d') print(list) # 刪除ls中的所有元素
list.clear() print(list)

運行結果:

['apple', 'hello', 'q', 'ben', 'hello'] ['fruit', 'hello', 'q', 'ben', 'hello'] ['a', 'h', 's', 'q', 'ben', 'hello'] ['a', 'h', 's', 's', 'q', 'ben', 'hello'] ['s', 's', 'q', 'ben', 'hello'] ['s', 's', 'q', 'ben', 'hello', 'd'] []

課后習題及例題解答:

1、列表ls=[2,5,7,1,6],請按照升序降序排列

ls = [2,5,7,1,6] # 升序
ls.sort() s1 = sorted(ls) # s1 = sorted(ls,reverse=False)
print(ls) print(s1) # 降序
s2 = sorted(ls,reverse=True) print(s2)

2、ls1=[1,43],ls2=ls1,ls1[0]=22,計算並思考兩列表的運行結果

ls1=[1,43] ls2=ls1 ls1[0]=22
print(ls1,ls2)

3、ls=[[2,3,7],[[3,5],25],[0,9]],求len(ls)

ls=[[2,3,7],[[3,5],25],[0,9]] print(len(ls))

4、從lst1中去除兩個列表的交集元素

lst1 = set('there') lst2 = set('hello') lst = lst1&lst2 for x in lst: lst1.remove(x) print(lst1)

5、把lst1=[1,2,3,4]中的奇數位與lst2=[5,6,7,8]中的偶數位,求並集

lst1=[1,2,3,4] ls1 = [] ls2 = [] for x in lst1: if x%2 != 0: ls1.append(x) lst2=[5,6,7,8] for y in lst2: if y%2 == 0: ls2.append(y) S = list(set(ls1).union(set(ls2))) print(sorted(S))

 

以上5題目運行結果:

[1, 2, 5, 6, 7] [1, 2, 5, 6, 7] [7, 6, 5, 2, 1] [22, 43] [22, 43] 3 {'t', 'r'} [1, 3, 6, 8]

6、刪除列表中的重復元素

lst1 = ['d','df','df'] lst2 = [] for x in lst1: if x not in lst2: lst2.append(x) print(lst2)

結果:

三、總結

列表是一個十分靈活的數據結構,它具有處理任意長度、混合數據類型的能力,並提供了豐富的基礎操作符和方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM