Python集合是可變的嗎?rozenset()函式如何使用?

老男孩IT教育機構發表於2023-02-17

  集合(set)是無序的、不重複的資料集合,它本身是可變的,但裡面的元素是不可變型別。那麼Python語言中集合是可變的嗎?很多小夥伴應該都很關心這個問題,小編透過文章為大家解答一下。

  集合是不同元素的無序集合。與序列型別不同,如列表、字串等,集合是沒有切片操作的。

  Python集合分為兩種型別:

  set-可變集合,集合中的元素可以動態的增加或刪除。

  frozenset-不可變集合,集合中的元素不可改變。

  注:對於並集、交集、差集等的返回值,與最左邊的運算元具有相同的型別。例如:s & t取交集。S集合是一個set型別的集合,t集合是一個frozenset型別的集合,則返回的結果將是set型別的集合。

  rozenset()函式

  可以將其它的組合資料型別轉化為不可變集合型別,返回一個無重複元素且排序任意的不可變集合。

  語法:

  frozenset() -> empty frozenset object 返回一個不可變空集合

  frozenset(iterable)-> frozenset object 返回一個不可變新集合

  iterable——要轉換的組合資料型別

  示例:

  s1 = frozenset() #建立一個不可變的空集合

  l = [1.23,"a"] #列表型別

  d = {1:"a",2:"b"} #字典型別

  a = (1,2,"b") #元組型別

  s = "厲害了,我的國家" #字串

  c = set("1,2,3a") #可變集合

  #將列表,字典,元組,字串 可變集合 轉化為不可變集合

  s2 = frozenset(s)

  s3 = frozenset(l)

  s4 = frozenset(d)

  s5 = frozenset(a)

  s6 = frozenset(c) #將可變集合轉換為不可變集合s6

  print(s1)

  print(s2)

  print(s3)

  print(s4)

  print(s5)

  print(s6)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2935768/,如需轉載,請註明出處,否則將追究法律責任。

相關文章