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 : cho tập hợp 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  Cách đọc và ghi tệp văn bản trong Java - java ghi vào tệp văn bản

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).

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:

Xem Thêm  Cách thực thi thủ tục được lưu trữ trong SQL Server - thực hiện một thủ tục được lưu trữ trong máy chủ sql

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ủ đề cho thiết lập trong python

Lập Trình Phần Mềm Máy Tính Python Cơ Bản Tự Học Cho Người Mới Bắt Đầu | Đồng Hồ Đếm Ngược Python

  • Tác giả: Dũng Lại Lập Trình
  • Ngày đăng: 2020-09-19
  • Đánh giá: 4 ⭐ ( 6364 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn lập trình game, phần mềm, ứng dụng, tool trên máy tính bằng ngôn ngữ python cho người mới bắt đầu.

    Xin chào các bạn mình là Dũng Lại Lập Trình, hiện tại mình đang sống và làm việc tại Úc, mình từng là một học sinh chuyên toán tại THPT Hà Nội - Amsterdam, sau lớp 12 mình bắt đầu du học ngành khoa học dữ liệu tại đại học Swinburne, Australia. Sau 3 năm đại học, mình nhận học bổng Tiến Sĩ và tiếp tục công việc nghiên cứu tại viện nghiên cứu trí tuệ nhân tạo và ứng dụng A2I2 tại Úc, đồng thời làm việc tại 3 trường đại học là Deakin, Monash, và Swinburne.

    Metap - Thẻ cá nhân thông minh đầu tiên tại Việt Nam: https://metap.vn
    Thông tin các lớp học: http://dunglailaptrinh.com
    👨‍🏫 1. Lập Trình Web cơ Bản
    👨‍🏫 2. Toán Logic - Toán tư duy cơ bản
    👨‍🏫 3. Lập Trình Python Cơ Bản đến Nâng cao
    👨‍🏫 4. Lập Trình Game Cơ Bản
    👨‍🏫 5. Lập trình Data Science - Phân tích dữ liệu Cơ Bản
    👨‍🏫 6. Lập Trình AI - Trí Tuệ Nhân Tạo Cơ Bản

    Thông tin chuyển khoản:
    21510002454820 - Nguyễn Thị Thanh Hương - Ngân Hàng BIDV Chi Nhánh Hoàng Quốc Việt

    Paypal: http://paypal.me/dunglailaptrinh
    Phần note, bạn ghi: Tên facebook + Số Điện Thoại

    Paypal, Vui lòng chọn "Send to someone you trust" hoặc "Sending to a friend" để mình không phải trả phí cho Paypal

    Khi request vào group học, bạn ghi số điện thoại trong nội dung chuyển khoản để bên mình approve
    ----------

    Xin chào các bạn mình là Dũng Lại Lập Trình, mình đang dạy các môn lập trình cơ bản ở đại học Swinburne, Australia và làm tiến sỹ ngành trí tuệ nhân tạo tại Úc.

    Trong Clip này mình sẽ hướng dẫn các bạn:

    _ Cách 1 phần mềm window được tạo ra
    _ Tạo ứng dụng bằng thư viện pygame, python
    _ Cách vẽ hình lên màn hình
    _ Trục tọa độ của một ứng dụng
    _ Vòng lặp game được tạo ra như nào
    _ Chuyển python sang chương trình exe
    _ Quảng cáo thẻ thông minh, áo thun, khóa học của mình 😀

    Nếu thấy mình nói quá nhanh hay có gì khó hiểu, các bạn nhớ bình luận bên dưới nha :))

    Mình mong clip này sẽ có ích với các bạn mới học lập trình.

    Facebook Page: https://www.facebook.com/dunglailaptrinh
    Instagram: https://www.instagram.com/dunglailaptrinh
    Group hỏi đáp lập trình: https://www.facebook.com/groups/dunglailaptrinh
    Tiktok làm toán: https://tiktok.com/@dunglailaptrinh
    Facebook cá nhân: https://www.facebook.com/dung.lai.733
    ----

    CẢM ƠN CÁC BẠN RẤT NHIỀU !!!!! Love you !!!!

    dunglailaptrinh

Làm Chủ Python Virtual Environment - Môi Trường Lập Trình Ảo ?

  • Tác giả: codelearn.io
  • Đánh giá: 5 ⭐ ( 8698 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Môi trường "ảo" trong Python được thiết lập như thế nào? Có những cách thiết lập ra làm sao ? Tại sao phải sử dụng virtual environments?

Cách thiết lập môi trường ảo Python trên Windows 10

  • Tác giả: hiepsiit.net
  • Đánh giá: 5 ⭐ ( 9267 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

10 thủ thuật cần thiết cho việc lập trình trong Python

  • Tác giả: viblo.asia
  • Đánh giá: 5 ⭐ ( 7008 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python là một trong những ngôn ngữ phổ biến và được yêu thích nhất hiện nay. Với tính ngắn gọn và dễ tiếp nhận của Python làm cho nó trở nên phổ biến đối với tất cả các lập trình viên. Dưới đây là một...

Lập trình GUI bằng Tkinter trong Python

  • Tác giả: t3h.edu.vn
  • Đánh giá: 4 ⭐ ( 5926 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết ngày hôm, T3H xin giới thiệu tới bạn Python Tkinter - một trong những thư viện cơ bản để tạo GUI trong Python

Hướng dẫn học lập trình python cho người mới học

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

Python 101: Thiết lập trên Windows

  • Tác giả: helpex.vn
  • Đánh giá: 5 ⭐ ( 1874 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python khá dễ cài đặt trên Windows, nhưng đôi khi bạn cần thực hiện thêm một vài điều chỉnh để thực sự tận dụng tối đa môi trường phát triển của chúng tôi. Trong bài viết này, chúng tôi sẽ…

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