python set有哪些操作方法

小樊
83
2024-11-15 03:03:45

Python set(集合)是一個(gè)無(wú)序且不包含重復(fù)元素的數(shù)據(jù)結(jié)構(gòu)。以下是一些常用的set操作方法:

  1. 創(chuàng)建集合:可以使用花括號(hào) {} 或者 set() 函數(shù)來(lái)創(chuàng)建一個(gè)集合。

    s1 = {1, 2, 3}
    s2 = set([1, 2, 3])
    
  2. 添加元素:使用 add() 方法向集合中添加一個(gè)元素。

    s = {1, 2, 3}
    s.add(4)
    
  3. 刪除元素:使用 remove()discard() 方法從集合中刪除一個(gè)元素。remove() 方法在元素不存在時(shí)會(huì)拋出異常,而 discard() 方法則不會(huì)。

    s = {1, 2, 3}
    s.remove(4)  # 拋出異常:KeyError
    s.discard(4)  # 無(wú)異常
    
  4. 檢查元素是否存在:使用 innot in 關(guān)鍵字檢查一個(gè)元素是否存在于集合中。

    s = {1, 2, 3}
    print(4 in s)  # 輸出 False
    
  5. 遍歷集合:可以使用 for 循環(huán)遍歷集合中的元素。

    s = {1, 2, 3}
    for item in s:
        print(item)
    
  6. 計(jì)算集合長(zhǎng)度:使用內(nèi)置函數(shù) len() 計(jì)算集合中元素的個(gè)數(shù)。

    s = {1, 2, 3}
    print(len(s))  # 輸出 3
    
  7. 集合運(yùn)算

    • 并集:使用 union() 方法或 | 運(yùn)算符計(jì)算兩個(gè)集合的并集。

      s1 = {1, 2, 3}
      s2 = {3, 4, 5}
      print(s1.union(s2))  # 輸出 {1, 2, 3, 4, 5}
      print(s1 | s2)  # 輸出 {1, 2, 3, 4, 5}
      
    • 交集:使用 intersection() 方法或 & 運(yùn)算符計(jì)算兩個(gè)集合的交集。

      s1 = {1, 2, 3}
      s2 = {3, 4, 5}
      print(s1.intersection(s2))  # 輸出 {3}
      print(s1 & s2)  # 輸出 {3}
      
    • 差集:使用 difference() 方法或 - 運(yùn)算符計(jì)算兩個(gè)集合的差集。

      s1 = {1, 2, 3}
      s2 = {3, 4, 5}
      print(s1.difference(s2))  # 輸出 {1, 2}
      print(s1 - s2)  # 輸出 {1, 2}
      
    • 對(duì)稱(chēng)差集:使用 symmetric_difference() 方法或 ^ 運(yùn)算符計(jì)算兩個(gè)集合的對(duì)稱(chēng)差集。

      s1 = {1, 2, 3}
      s2 = {3, 4, 5}
      print(s1.symmetric_difference(s2))  # 輸出 {1, 2, 4, 5}
      print(s1 ^ s2)  # 輸出 {1, 2, 4, 5}
      
  8. 更新集合:使用 update() 方法或 |= 運(yùn)算符將另一個(gè)集合中的元素添加到當(dāng)前集合中。

    s = {1, 2, 3}
    s.update({4, 5})
    print(s)  # 輸出 {1, 2, 3, 4, 5}
    s |= {6, 7}
    print(s)  # 輸出 {1, 2, 3, 4, 5, 6, 7}
    

0