Trong hướng dẫn này, bạn sẽ học mọi thứ về các bộ Python; cách chúng được tạo, thêm hoặc xóa các phần tử khỏi chúng và tất cả các hoạt động được thực hiện trên các bộ trong Python.

Bạn đang xem : tập hợp là gì trong python

Tập hợp là một tập hợp các mục không có thứ tự. Mọi phần tử tập hợp là duy nhất (không trùng lặp) và phải bất biến (không thể thay đổi).

Tuy nhiên, bản thân một tập hợp có thể thay đổi được. Chúng tôi có thể thêm hoặc xóa các mục khỏi nó.

Các tập hợp cũng có thể được sử dụng để thực hiện các phép toán tập hợp như kết hợp, giao điểm, hiệu số đối xứng, v.v.

Tạo Bộ Python

Một tập hợp được tạo bằng cách đặt tất cả các mục (phần tử) bên trong dấu ngoặc nhọn {} , được phân tách bằng dấu phẩy hoặc bằng cách sử dụng hàm set () tích hợp sẵn .

Nó có thể có bất kỳ số lượng mục nào và chúng có thể thuộc nhiều loại khác nhau (số nguyên, số float, bộ tuple, chuỗi, v.v.). Nhưng một tập hợp không được có các phần tử có thể thay đổi như danh sách , tập hợp hoặc từ điển làm phần tử của nó.

 # Các loại tập hợp khác nhau trong Python
# tập hợp các số nguyên
my_set = {1, 2, 3}
print (my_set)

# tập hợp các kiểu dữ liệu hỗn hợp
my_set = {1.0, "Xin chào", (1, 2, 3)}
print (my_set)  

Đầu ra

{1, 2, 3}
{1.0, (1, 2, 3), 'Xin chào'} 

Hãy thử các ví dụ sau.

 # set không được có bản sao
# Đầu ra: {1, 2, 3, 4}
my_set = {1, 2, 3, 4, 3, 2}
print (my_set)

# chúng ta có thể tạo bộ từ một danh sách
# Đầu ra: {1, 2, 3}
my_set = set ([1, 2, 3, 2])
print (my_set)

# set không được có các mục có thể thay đổi
# đây [3, 4] là danh sách có thể thay đổi
# điều này sẽ gây ra lỗi.

my_set = {1, 2, [3, 4]}  

Đầu ra

{1, 2, 3, 4}
{1, 2, 3}
Traceback (cuộc gọi gần đây nhất cuối cùng):
  Tệp "& lt; string & gt;", dòng 15, trong & lt; mô-đun & gt;
    my_set = {1, 2, [3, 4]}
TypeError: unhashable type: 'list' 

Tạo một tập hợp trống hơi phức tạp.

Dấu ngoặc nhọn trống {} sẽ tạo một từ điển trống trong Python. Để tạo một tập hợp không có bất kỳ phần tử nào, chúng tôi sử dụng hàm set () mà không có bất kỳ đối số nào.

 # Phân biệt tập hợp và từ điển trong khi tạo tập hợp trống

# khởi tạo a bằng {}
a = {}

# kiểm tra kiểu dữ liệu của một
in (gõ (a))

# khởi tạo a bằng set ()
a = set ()

# kiểm tra kiểu dữ liệu của một
print (type (a))  

Đầu ra

& lt; lớp 'dict' & gt;
& lt; class 'set' & gt; 

Sửa đổi một tập hợp bằng Python

Các tập hợp có thể thay đổi. Tuy nhiên, vì chúng không có thứ tự nên việc lập chỉ mục không có ý nghĩa.

Chúng tôi không thể truy cập hoặc thay đổi một phần tử của tập hợp bằng cách sử dụng lập chỉ mục hoặc cắt. Loại dữ liệu đặt không hỗ trợ nó.

Chúng tôi có thể thêm một phần tử duy nhất bằng phương thức add () và nhiều phần tử bằng phương thức update () . Phương thức update () có thể lấy bộ dữ liệu , danh sách, chuỗi hoặc các bộ khác làm đối số của nó. Trong mọi trường hợp, tránh trùng lặp.

 # khởi tạo my_set
my_set = {1, 3}
print (my_set)

# my_set [0]
# nếu bạn bỏ ghi chú dòng trên
# bạn sẽ gặp lỗi
# TypeError: Đối tượng 'set' không hỗ trợ lập chỉ mục

# thêm một phần tử
# Đầu ra: {1, 2, 3}
my_set.add (2)
print (my_set)

# thêm nhiều phần tử
# Đầu ra: {1, 2, 3, 4}
my_set.update ([2, 3, 4])
print (my_set)

# thêm danh sách và đặt
# Đầu ra: {1, 2, 3, 4, 5, 6, 8}
my_set.update ([4, 5], {1, 6, 8})
print (my_set)  

Đầu ra

{1, 3}
{1, 2, 3}
{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6, 8} 

Xóa các phần tử khỏi một tập hợp

Có thể xóa một mục cụ thể khỏi tập hợp bằng các phương thức discard () remove () . < / p>

Sự khác biệt duy nhất giữa hai hàm là hàm discard () giữ nguyên một tập hợp nếu phần tử không có trong tập hợp. Mặt khác, hàm remove () sẽ phát sinh lỗi trong điều kiện như vậy (nếu phần tử không có trong tập hợp).

Ví dụ sau sẽ minh họa điều này.

 # Sự khác biệt giữa discard () và remove ()

# khởi tạo my_set
my_set = {1, 3, 4, 5, 6}
print (my_set)

# loại bỏ một phần tử
# Đầu ra: {1, 3, 5, 6}
my_set.discard (4)
print (my_set)

# loại bỏ một phần tử
# Đầu ra: {1, 3, 5}
my_set.remove (6)
print (my_set)

# loại bỏ một phần tử
# không có trong my_set
# Đầu ra: {1, 3, 5}
my_set.discard (2)
print (my_set)

# loại bỏ một phần tử
# không có trong my_set
# bạn sẽ gặp lỗi.
# Đầu ra: KeyError

my_set.remove (2)  

Đầu ra

{1, 3, 4, 5, 6}
{1, 3, 5, 6}
{1, 3, 5}
{1, 3, 5}
Traceback (cuộc gọi gần đây nhất cuối cùng):
  Tệp "& lt; string & gt;", dòng 28, trong & lt; mô-đun & gt;
KeyError: 2 

Tương tự, chúng tôi có thể xóa và trả lại một mục bằng phương thức pop () .

Vì tập hợp là kiểu dữ liệu không có thứ tự, không có cách nào để xác định mục nào sẽ được xuất hiện. Nó hoàn toàn tùy ý.

Xem Thêm  Sử dụng Pi trong Python (NumPy và Math) • datagy - ví dụ về python pi trong toán học

Chúng tôi cũng có thể xóa tất cả các mục khỏi một tập hợp bằng phương thức clear () .

 # khởi tạo my_set
# Đầu ra: tập hợp các phần tử duy nhất
my_set = set ("HelloWorld")
print (my_set)

# bật một phần tử
# Đầu ra: phần tử ngẫu nhiên
print (my_set.pop ())

# bật một phần tử khác
my_set.pop ()
print (my_set)

# clear my_set
# Đầu ra: set ()
my_set.clear ()
print (my_set)  

Đầu ra

{'H', 'l', 'r', 'W', 'o', 'd', 'e'}
H
{'r', 'W', 'o', 'd', 'e'}
set () 

Các phép toán tập hợp trong Python

Các tập hợp có thể được sử dụng để thực hiện các phép toán tập hợp như liên hợp, giao điểm, hiệu số và hiệu số đối xứng. Chúng tôi có thể thực hiện điều này bằng các toán tử hoặc phương thức.

Chúng ta hãy xem xét hai bộ sau cho các hoạt động sau.

 & gt; & gt; & gt; A = {1, 2, 3, 4, 5}
& gt; & gt; & gt; B = {4, 5, 6, 7, 8}  

Đặt Liên minh

Đặt Liên minh trong Python

Liên hợp A và B là một tập hợp tất cả các phần tử từ cả hai tập hợp.

Liên minh được thực hiện bằng toán tử | . Có thể thực hiện điều tương tự bằng cách sử dụng phương thức union () .

 # Đặt phương thức liên hợp
# khởi tạo A và B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}

# sử dụng | nhà điều hành
# Đầu ra: {1, 2, 3, 4, 5, 6, 7, 8}
print (A | B)  

Đầu ra

{1, 2, 3, 4, 5, 6, 7, 8} 

Hãy thử các ví dụ sau trên trình bao Python.

 # sử dụng hàm liên hợp
& gt; & gt; & gt; A.union (B)
{1, 2, 3, 4, 5, 6, 7, 8}

# sử dụng hàm union trên B
& gt; & gt; & gt; B.union (A)
{1, 2, 3, 4, 5, 6, 7, 8}  

Đặt Giao lộ

Giao điểm đặt trong Python

Giao điểm của A và B là một tập hợp các phần tử chung trong cả hai tập hợp.

Giao lộ được thực hiện bằng toán tử & amp; . Có thể thực hiện điều tương tự bằng cách sử dụng phương thức giao điểm () .

 # Giao điểm của các tập hợp
# khởi tạo A và B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}

# sử dụng & amp; nhà điều hành
# Đầu ra: {4, 5}
in (A & amp; B)  

Đầu ra

{4, 5} 

Hãy thử các ví dụ sau trên trình bao Python.

 # sử dụng hàm giao nhau trên A
& gt; & gt; & gt; A.intersection (B)
{4, 5}

# sử dụng hàm giao nhau trên B
& gt; & gt; & gt; B.intersection (A)
{4, 5}  

Đặt Chênh lệch

Sự khác biệt của tập hợp trong Python

Sự khác biệt của tập hợp B so với tập hợp A (A – B) là tập hợp các phần tử chỉ nằm trong A mà không nằm trong B. Tương tự, B – A là tập hợp các phần tử trong B nhưng không nằm trong A.

Sự khác biệt được thực hiện bằng toán tử - . Có thể thực hiện điều tương tự bằng cách sử dụng phương thức difference () .

 # Sự khác biệt của hai tập hợp
# khởi tạo A và B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}

# use - toán tử trên A
# Đầu ra: {1, 2, 3}
in (A - B)  

Đầu ra

{1, 2, 3} 

Hãy thử các ví dụ sau trên trình bao Python.

 # sử dụng hàm khác biệt trên A
& gt; & gt; & gt; A.difference (B)
{1, 2, 3}

# use - toán tử trên B
& gt; & gt; & gt; BA
{8, 6, 7}

# sử dụng hàm khác biệt trên B
& gt; & gt; & gt; B.difference (A)
{8, 6, 7}  

Đặt Chênh lệch Đối xứng

Đặt sự khác biệt đối xứng trong Python

Sự khác biệt đối xứng của A và B là một tập hợp các phần tử trong A và B nhưng không ở cả hai (không bao gồm giao điểm).

Xem Thêm  SQL CHỌN VÀO để tạo bảng - sql tạo bảng từ lựa chọn

Sự khác biệt đối xứng được thực hiện bằng toán tử ^ . Tương tự có thể được thực hiện bằng cách sử dụng phương thức precision_difference () .

 # Sự khác biệt đối xứng của hai tập hợp
# khởi tạo A và B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}

# use ^ toán tử
# Đầu ra: {1, 2, 3, 6, 7, 8}
print (A ^ B)  

Đầu ra

{1, 2, 3, 6, 7, 8} 

Hãy thử các ví dụ sau trên trình bao Python.

 # sử dụng hàm đối xứng_difference trên A
& gt; & gt; & gt; A.symmetric_difference (B)
{1, 2, 3, 6, 7, 8}

# sử dụng hàm đối xứng_difference trên B
& gt; & gt; & gt; B.symmetric_difference (A)
{1, 2, 3, 6, 7, 8}  

Các phương pháp tập hợp Python khác

Có nhiều phương pháp thiết lập, một số phương pháp trong số đó chúng tôi đã sử dụng ở trên. Dưới đây là danh sách tất cả các phương thức có sẵn với các đối tượng được thiết lập:

Phương pháp
Sự mô tả
thêm ()
Thêm một phần tử vào tập hợp
rõ ràng ()
Xóa tất cả các phần tử khỏi tập hợp
bản sao ()
Trả về bản sao của tập hợp
chênh lệch ()
Trả về sự khác biệt của hai hoặc nhiều tập hợp dưới dạng một tập hợp mới difference_update ()
Xóa tất cả các phần tử của một tập hợp khác khỏi tập hợp này
loại bỏ ()
Loại bỏ một phần tử khỏi tập hợp nếu nó là một thành viên. (Không làm gì nếu phần tử không được thiết lập)
giao lộ ()
Trả về giao của hai tập hợp dưới dạng một tập hợp mới
change_update ()
Cập nhật tập hợp với giao điểm của chính nó và tập hợp khác
isdisjoint ()
Trả về True nếu hai tập hợp có giao điểm rỗng
Issubset ()
Trả về True nếu một tập hợp khác chứa tập hợp này
Issuperset ()
Trả về True nếu tập hợp này chứa tập hợp khác
pop ()
Loại bỏ và trả về một phần tử tập hợp tùy ý. Tăng KeyError nếu tập hợp trống
loại bỏ ()
Xóa một phần tử khỏi tập hợp. Nếu phần tử không phải là thành viên, hãy đặt ra một KeyError
Treatric_difference ()
Trả về hiệu số đối xứng của hai tập hợp dưới dạng một tập hợp mới
Treatric_difference_update ()
Cập nhật một tập hợp với sự khác biệt đối xứng của chính nó và tập hợp khác
công đoàn ()
Trả về sự kết hợp của các tập hợp trong một tập hợp mới
cập nhật ()
Cập nhật tập hợp với sự kết hợp của chính nó và những người khác

Hoạt động tập hợp khác

Đặt Kiểm tra Tư cách Thành viên

Chúng tôi có thể kiểm tra xem một mặt hàng có tồn tại trong một bộ hay không bằng cách sử dụng từ khóa in .

 # trong từ khóa trong một tập hợp
# khởi tạo my_set
my_set = set ("apple")

# kiểm tra xem có 'a' không
# Đầu ra: Đúng
print ('a' trong my_set)

# kiểm tra xem có 'p' không
# Đầu ra: Sai
print ('p' không có trong my_set)  

Đầu ra

ĐÚNG VẬY
Sai 

Lặp lại Qua một Tập hợp

Chúng tôi có thể lặp lại từng mục trong một tập hợp bằng vòng lặp for .

 & gt; & gt; & gt; cho chữ cái trong bộ ("apple"):
... in (thư)
...
một
P
e
l  

Chức năng Tích hợp với Bộ

Các hàm tích hợp sẵn như all () , any () , enumerate () , len () , max () , min () , sorted () , sum () , v.v. thường được sử dụng với các bộ để thực hiện các nhiệm vụ khác nhau.

Hàm số
Sự mô tả
tất cả ()
Trả về True nếu tất cả các phần tử của tập hợp là true (hoặc nếu tập hợp trống).
bất kỳ ()
Trả về True nếu bất kỳ phần tử nào của tập hợp là true. Nếu tập hợp trống, trả về False .
liệt kê ()
Trả về một đối tượng liệt kê. Nó chứa chỉ mục và giá trị cho tất cả các mục của tập hợp dưới dạng một cặp.
len ()
Trả về độ dài (số lượng mục) trong tập hợp.
tối đa ()
Trả về mục lớn nhất trong tập hợp.
phút ()
Trả về mục nhỏ nhất trong tập hợp.
đã sắp xếp ()
Trả về danh sách được sắp xếp mới từ các phần tử trong tập hợp (không tự sắp xếp tập hợp).
sum ()
Trả về tổng của tất cả các phần tử trong tập hợp.

Python Frozenset

Frozenset là một lớp mới có các đặc điểm của một tập hợp, nhưng các phần tử của nó không thể thay đổi sau khi được gán. Trong khi các bộ giá trị là danh sách bất biến, các bộ giá trị là các bộ bất biến.

Các tập hợp có thể thay đổi không thể thay đổi được, vì vậy chúng không thể được sử dụng làm khóa từ điển. Mặt khác, các bảng xếp hạng có thể được băm và có thể được sử dụng làm khóa cho từ điển.

Có thể tạo hàng chục đám đông bằng cách sử dụng hàm frozenset () .

Kiểu dữ liệu này hỗ trợ các phương thức như copy () , difference () , giao () , isdisjoint () , Issubset () , Issuperset () , allowmetric_difference () union () . Là bất biến, nó không có các phương thức thêm hoặc bớt phần tử.

 # Frozensets
# khởi tạo A và B
A = frozenset ([1, 2, 3, 4])
B = frozenset ([3, 4, 5, 6])  

Hãy thử các ví dụ này trên trình bao Python.

 & gt; & gt; & gt; A.isdisjoint (B)
Sai
& gt; & gt; & gt; A.difference (B)
đám đông ({1, 2})
& gt; & gt; & gt; A | B
frozenset ({1, 2, 3, 4, 5, 6})
& gt; & gt; & gt; A.add (3)
...
AttributeError: Đối tượng 'frozenset' không có thuộc tính 'add'  


Xem thêm những thông tin liên quan đến chủ đề một bộ trong python là gì

Tại sao các tài xế công nghệ phải tắt App | TỔ BUÔN 247 (23/06/2022)

  • Tác giả: Tuấn Tiền Tỉ
  • Ngày đăng: 2022-06-23
  • Đánh giá: 4 ⭐ ( 9366 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xăng đội giá khiến tài xế “càng chạy càng lỗ”,”tắt app hàng loạt” và chuyện Thái lan hợp pháp hóa “thảo dược phê pha”

    Bản tin ngày 23/06 gồm những tin chính như sau:

    00:00 Chào mừng các bạn đến với bản tin tổ buôn 247
    00:13 Tại sao các tài xế công nghệ phải tắt App
    05:21 Cảm ơn các bạn đã xem bản tin Tổ buôn 247

    Đừng quên like, subscribe và share để nhận thông báo video mới nhất nha
    Link đăng kí kênh: https://bit.ly/DangKyKenhTTT
    Link Group Tổ Buôn 247: https://bit.ly/tobuon247
    Link Group Đàm Đạo Lịch Sử: https://bit.ly/damdaolichsuttt

    Nhạc nền bản tin - Sơn Beat

    ■ Facebook : https://www.facebook.com/phianhtuan2911
    ■ Instagram: https://www.instagram.com/phianhtuan2911
    ■ Group: https://www.facebook.com/groups/1437581003017601
    ■ Gmail:phianhtuan1993@gmail.com

    Các sếp có thể ủng hộ em qua Ngân Hàng Techcombank - CTK: Phí Anh Tuấn - 1902.6393.047.054 nha.

    tuantientitobuon247 grab be gojek taixe thailan thaoduoc

Hàm trong Python

  • Tác giả: o2.edu.vn
  • Đánh giá: 4 ⭐ ( 6346 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Để khai báo một hàm trong Python chúng ta sử dụng từ khóa def với cú pháp:

Biến toàn cục và biến cục bộ trong Python

  • Tác giả: mylop.edu.vn
  • Đánh giá: 5 ⭐ ( 4339 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này chúng ta sẽ tìm hiểu về biến cục bộ và biến toàn cục trong Python. Đây là hai phạm vi hoạt động chủ yếu của một biến trong Python, vì vậy bạn

Bất đồng bộ trong Python - Coroutine | Phần 1

  • Tác giả: nkthanh.dev
  • Đánh giá: 5 ⭐ ( 9876 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bất đồng bộ là một khái niệm rất hay gặp trong các ngôn ngữ lập trình như Javascript, Kotlin hay Python. Đặc biệt, các lập trình viên làm việc nhiều với networking như các web developer thường xuyên phải làm việc với khái niệm này. Trong bài viết này, mình sẽ giải thích một trong các thành phần cấu tạo nên hệ sinh thái async programming trong Python và tất nhiên, nó cũng mang tư tưởng này lên một số ngôn ngữ khác.

Bộ đếm trong Python?

  • Tác giả: vn.wsxdn.com
  • Đánh giá: 4 ⭐ ( 2813 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Chi tiết bài học 5.Biến trong Python

  • Tác giả: vimentor.com
  • Đánh giá: 4 ⭐ ( 3374 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vimentor chi tiết bài học Biến trong Python: Khai báo, Kết hợp, Biến toàn cục & Biến cục bộ

Biến toàn cục (global), biến cục bộ (local), biến nonlocal trong Python

  • Tác giả: topdev.vn
  • Đánh giá: 3 ⭐ ( 3549 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Trong bài Python này bạn sẽ học về biến toàn cục (global), biến cục bộ (local), biến nonlocal trong

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php