1. 程式人生 > 實用技巧 >shell指令碼中的 EOF 是什麼意思?

shell指令碼中的 EOF 是什麼意思?

集合
集合是由一組無序排列且不重複的元素組成,示例如下:

set1 = {1,2,‘a’}

集合使用大括號表示,元素型別可以是數字型別、字串、元組,但不可以是列表、字典,具體示例如下:

set2 = { 2,[ ‘a’,1] } #錯誤,元素包含列表

set3 = { 2,[ ‘a’:1] } #錯誤,元素包含字典

set4 = { 2,( ‘a’,1) } #正確,元素包含元組

使用大括號建立的集合屬於可變集合,即可以新增或刪除元素。

此外,還存在一種不可變集合,即不允許新增或刪除元素。 接下來演示建立這兩種集合的方法,如例所示。

set1 = set (’ xiaoqian ') #通過set( )建立可變集合

print(type(set1),set1)

set2 = set ((’ xiaoqian ',‘xiaofeng’))

set3 = set [(’ xiaoqian ',‘xiaofeng’)]

print(set2,set3)

fset1 = frozneset(’ xiaofeng ') #通過fronzenset( )建立不可變集合

print( type(fest1) )

print( fest1 )

集合的一個重要用途是將一些資料結構中的重複元素去除,如例所示。
list1 = [ 1,2,3,4,3,2,1 ]

set1 = set(list1) #將列表轉換為集合並去重

list2 = list(set1) #將集合轉換為列表

print(list2)

集合常用操作

同其他資料型別類似,集合也有一系列常用的操作,例如新增元素、刪除元素等。通過這些操作,可以很方便地處理集合。

1、新增元素
集合中新增元素可以使用add()和update()函式,如例所示。

set1,set2 = { 1,2,3 },{ 3,4,5,6 }

set1.add(4)

print(set1)

set1.updata(set2)

print(set1)

2、刪除元素
集合中刪除元素可以使用remove()和discard()函式,如例所示。

set1 = {1,2,3,4}

set1.remove(3) #刪除不存在的元素時報錯

set.discard(4) #刪除不存在的元素時不會報錯

set.discard(5)

print(set1)

set1.clear() #清空集合

print(set1)

3、集合運算
集合可以參與多種運算,如表所示。
在這裡插入圖片描述
除了上述運算子外,還可以通過union()、intersection()與difference()函式實現集合的並集、交集與差集。

set1,set2 = { 1,2,3 },{ 2,3,4 }

print(set1.union(set2)) #並集

print(set1.intersection(set2)) #交集

print(set1.difference(set2)) #差集

4、集合遍歷
集合可以通過for迴圈遍歷其中的元素。

set1= { 1,2,3,4 }

for n in set:

print(n,end='   ') 

5、字典推導與集合推導
字典推導與列表推導相似,它將推匯出一個字典。

dict1 = { x : x * x for x in range(5) }

字典推導使用大括號包圍,並且需要兩個表示式,一個生成key,一個生成value,兩個表示式之間使用冒號分隔,結果返回字典。若通過print()列印dict1,則輸出結果為:

{ 0:0,1:1,2:4,3:9,4:16}

集合推導也與列表推導相似,只需將中括號改為大括號。

set1 = { x * x for x in range(5)}

集合推導將返回一個集合。若通過print()列印set1,則輸出結果為:

{0,1,4,9,16}