Hướng dẫn dùng myset python

Trong phần trước mình đã giới thiệu một số keyword cơ bản trong Python. Bài viết lần này mình sẽ giới thiệu chi tiết hơn về 12 hàm thông dụng của từ khóa set trong Python nhé.

Set là gì?

  • Set là một container trong python
  • Các giá trị của Set chỉ xuất hiện tối đa 1 lần
  • Các phần tử của Set không có vị trí nhất định
  • Set thường được sử dụng cho các phép toán như liên hợp, giao, chênh lệch,...

Tạo set như thế nào?

  • Các giá trị của set nằm trong cặp ngoặc {}
    • Cú pháp: myset = {1,2,3}
  • Ta có thể tạo một set bằng hàm tạo
    • Cú pháp: myset = set[[1,2,3]]

In ra màn hình:

  • Để in tất các phần tử trong set ta có thể dùng hàm print[]
    • Cú pháp: print[myset]
  • Do các phần tử trong Set không có vị trí nên ta không thể truy cập trực tiếp các phần tử như ở trong List, nhưng ta vẫn có thể in chúng ta màn hình với vòng lặp for
    • Cú pháp: 
      for i in myset:
       print[i]​
  • add[]
    • Cú pháp: myset.add[value]
    • Hàm add[] dùng để thêm một phần tử vào set
  • update[]
    • Cú pháp: myset.update[item1, item2]
    • Hàm update giúp chúng ta có thể thêm nhiều object vào set
    • Ví dụ:
      • myset = {0,1,2}
        print[myset]
        myset.update["245","789","abc","xxx"]
        print[myset]
        #output: {0, 1, 2, '2', '5', '8', '7', 'c', 'b', 'a', '9', 'x', '4'}
      • Chúng ta có thể thấy mỗi item trong hàm update là một object chúng phân tách thành các phần tử rồi mới thêm vào set vì vậy output trả về kết quả là một chuỗi các phần tử độc lập không trùng lặp và ta không thể thêm một số vào set khi dùng hàm update[]
  •  remove[]
    • Cú pháp: set.remove[value]
    • Hàm remove dùng để xóa một phần tử của set nếu nó có ở trong set đó, khi value không có trong set nó sẽ báo lỗi.
  • discard[]
    • Cú pháp: set.discard[value]
    • Hàm discard có tác dụng giống như hàm remove nhưng nó không báo lỗi khi value không có trong set.
    • Để xóa hẳn một set ta dùng del set
  • pop[]
    • Cú pháp: set.pop[]
    • Hàm pop[] dùng để xóa random một phần tử của set
  • copy[]
    • Cú pháp: seta = setb.copy[]
    • Hàm copy cho phép gán giá trị seta = setb, nhưng seta và setb là 2 đối tượng độc lập;
    • Nếu ta gán seta=setb không thông qua hàm copy thì mọi thay đổi ở seta sẽ thay đổi ở setb và ngược lại
  • difference[]
    • Cú pháp: seta.difference[setb]
    • Hàm difference[] trả về một set chứa các giá trị của seta không tồn tại trong setb
    • Ví dụ: 
      seta = {1,2,3}
      setb = {1,3,4}
      print[seta.difference[setb]]
      #output: {2}​
  • intersection[]
    • Cú pháp: seta.intersection[setb]
    • Hàm intersection[] trả về một set chứa các giá trị chung giữa seta và setb
    • Ví dụ: 
      seta = {1,2,3}
      setb = {1,3,4}
      print[seta.intersection[setb]]
      #output: {1, 3}​
  • isdisjoint[]
    • Cú pháp: seta.isdisjoint[setb]
    • Hàm isdisjoint[] trả về true hoặc false
      • True khi tập hợp seta và setb là 2 tập hợp rời rạc [tức là chúng không có phần tử chung]
      • False khi 2 tập hợp seta và setb không rời rạc
    • Ví dụ:
      seta = {1,2,3}
      setb = {1,3,4}
      setc = {10}
      print[seta.isdisjoint[setb]]
      print[seta.isdisjoint[setc]]
      #output: 
      #print[seta.isdisjoint[setb]] in ra false vì seta & setb chung {1,3}
      #print[seta.isdisjoint[setc]] in ra true vì seta & setc không có phần tử chung​
  • issubset[]
    • Cú pháp: seta.issubset[setb]
    • Hàm issubset[] trả về true khi setb chứa tất cả các phần tử của seta, false ngược lại.
    • Ví dụ:
      seta = {1,2,3}
      setb = {1,3,4}
      setc = {1,2,3,4}
      print[seta. issubset[setb]] #in ra False
      print[seta. issubset[setc]] #in ra True
      ​
  • issuperset[]
    • Cú pháp: seta.issuperset[setb]
    • Hàm issuperset[] trả về true khi seta chứa tất cả các phần tử của setb, false ngược lại [hàm này ngược với hàm issubset[]]
    • Ví dụ:
      seta= {1,2,3,4,5}
      setb = {1,2,3}
      print[seta.issuperset[setb]]
      #output: true​
  • union[]
    • Cú pháp : seta.union[setb]
    • Hàm union[] dùng để hợp 2 set lại với nhau
    • Ví dụ:
      seta = {1,2,3}
      setb = {3,4,5}
      print[seta.union[setb]]
      #output: {1, 2, 3, 4, 5}​

Tổng Kết

Qua bài viết trên mình đã tổng hợp được một số hàm thông dụng mà mình cảm thấy cần thiết khi sử dụng set trong python, các bạn đọc nếu có sai sót hay bổ sung thì comment góp ý cho mình có thể tiếp thu thêm kiến thức mới nhé. Cảm ơn các bạn đã đọc!!

Chủ Đề