Python khác với các ngôn ngữ lập trình khác, nó đưa ra rất nhiều cấu trúc dữ liệu dạng đa giá trị, trong bài trước chúng ta đã nghiên cứu về Danh sách và Tuple, bài này chúng ta tìm hiểu về hai cấu trúc dữ liệu tiếp theo Show Hiểu về setTimeout và setInterval trong Javascript 20 tài liệu học Python thiết thực để trở thành lập trình viên chuyên nghiệp Xem thêm nhiều việc làm Python lương cao trên TopDev 1. Tập hợp (Set)Đặt trong Python là một cấu trúc dữ liệu cấu trúc liên quan đến tập hợp toán học hay còn gọi là lý thuyết tập hợp do nhà toán học người Đức Georg Cantor đề xuất. Set could contain many other element and this section are not have athứ tự, vị trí của nó hỗn loạn trong tập hợp. Bạn có thể duyệt qua các phần tử trong tập hợp, có thể thêm hoặc xóa các phần tử và thực hiện các phép toán của tập tin như phép hợp nhất (union), phép giao (giao), phép hiệu (difference)… Các phần tử của tập hợp phải là dữ liệu không thể thay đổi thành một số (int), một chuỗi (chuỗi) hoặc một Tuple 1. 1 Khai báo tập hợpTập hợp (Set) trong Python có một số tính chất mà bạn cần nhớ
Chúng ta sử dụng các dấu ngoặc kép trong báo cáo Đặt, ví dụ
Chú thích
1. 2 Change file compositCác phần tử trong tập hợp có thể thêm hoặc loại bỏ. Python hỗ trợ rất nhiều phương thức để thực hiện thao tác thay đổi tập hợp 1. 2. 1 Phương thức. cộng()Phương thức sử dụng để thêm một phần tử vào tập hợp Ví dụ
Chú ý, kết quả có thể khác đi Set không sắp xếp các phần tử theo một trật tự nào cả 1. 2. 2 Phương thức. gỡ bỏ()Loại bỏ một phần tử trong tập hợp Ví dụ
Khi loại bỏ một phần tử, nếu phần tử đó không tồn tại trong tập hợp, chương trình sẽ dừng và một thông báo lỗi KeyError xuất hiện 1. 2. 3 Phương thức. loại bỏ()Giống như phương thức. remove() loại bỏ phần tử trong tập hợp, tuy nhiên nếu phần tử đó không tồn tại thì nó không báo lỗi gì cả
1. 2. 4 Phương thức. nhạc pop()Loại bỏ một phần tử ngẫu nhiên khỏi tập hợp
Bạn cần chú ý về thứ tự các phần tử trong tập hợp, nó không được sắp xếp theo bất kỳ quy tắc nào 1. 2. 5 Phương thức. xa lạ()Loại bỏ tất cả các phần tử trong tập hợp, khi tập hợp đó được gọi là tập rỗng
1. 2. 6 Phương thức. cập nhật()Phương thức. add() at on only add 1 section tử vào file được hợp nhất với 1 câu lệnh, để thêm nhiều phần tử, chúng ta sử dụng. cập nhật(). Chú thích, đầu vào của. update() could be a Set, a List or a Tuple
Kết quả của bạn có thể có thứ tự sách khác đi, một chú ý nữa là không sử dụng chuỗi để cập nhật vào tập hợp mà các phần tử là chuỗi bởi vì chuỗi sẽ được coi là một danh sách các ký tự, ví dụ:
Không như mong đợi phải không, bạn có thể sử dụng phương thức. add() or can convert string to Set, List or Tuple has 1 element ________số 8Có một số cập nhật phương thức khác như. Difference_update(),. symmetric_difference_update() hay. giao_update() nó có liên quan đến các phép tính toán trong tập hợp nên sẽ hiển thị ở phần tiếp theo 1. 3 Các phép toán trong tập hợpCác tập hợp có lợi hơn các cấu trúc dữ liệu khác ở chỗ nó thực hiện được các tập hợp toán được phép như hợp, hiệu, giao… Để mô tả dễ hiểu hơn, chúng ta có hai tập hợp art_friends và science_friends là tập hợp
Các phép toán được mô tả như hình sau 1. 3. 1 Control Union (Liên minh)Kết quả hợp nhất của hai tập hợp là tất cả các phần tử trong hai tập hợp, lưu ý rằng phần tử nào lặp lại sẽ chỉ xuất hiện 1 lần trong kết quả tập tin. Trong Python, để thực hiện phép hợp lệ, chúng ta sử dụng phương thức. liên hiệp(). Chú ý, sử dụng tập hợp nào trước cũng cho kết quả như nhau, art_friends. union(science_friends) cũng cho kết quả như science_friends. công đoàn(art_friends) 0Chú ý, “Jen” có mặt ở cả hai lớp nhưng với tập kết quả cuối cùng thì “Jen” chỉ xuất hiện 1 lần 1. 3. 2 Phép trừ (Difference)Hiệu quả của một tập tin A, trừ một tập tin B cho kết quả là tất cả các phần tử thuộc A nhưng không thuộc B. Use method. khác biệt() để thực hiện cho phép loại trừ hai tập hợp 1Trong ví dụ trên, tập hợp art_but_not_science bao gồm các bạn học lớp Mỹ thuật nhưng không học lớp Khoa học, chú ý “Jen” học cả hai lớp nên không có mặt trong tập hợp này 1. 3. 3 Hiệu đối xứng của hai tập hợp (Sự khác biệt đối xứng)Hiệu quả đối xứng của hai tập A và B được kết quả là tập hợp các phần tử thuộc cả A và B nhưng không đồng thời thuộc cả tập A và B. Phương thức. symmetric_difference() cho kết quả là hiệu đối xứng của hai tập hợp. Chú ý, làm tính chất đối xứng nên art_friends. symmetric_difference(science_friends) và science_friends. symmetric_difference(art_friends) cho kết quả như nhau 21. 3. 4 Phép giao (Giao lộ)Kết quả giao hai tập hợp bộ là các phần tử đồng thời thuộc về cả hai tập hợp. Trong Python used method method. giao nhau () để thực hiện cho phép giao, chú thích tập hợp nào đứng trước cũng được, do đó dẫn đến kết quả art_friends. giao điểm(science_friends) và science_friends. giao nhau(art_friends) is as together 3Tập hợp nghệ thuật và khoa học bao gồm các bạn học đồng thời cả lớp Mỹ thuật và lớp Khoa học, kết quả là chỉ có “Jen” học cả hai lớp này 1. 3. 5 Thay đổi tập hợp dựa trên phép toán tập hợpTrong phần trước chúng ta đã biết đến phương thức. update() để thêm nhiều phần tử vào một tập hợp. Dựa vào sự cho phép của tập tin toán học, Python cung cấp một số phương thức khác để thay đổi tập hợp như sau Difference_update() Phương thức này là sự kết hợp của. khác biệt() và. cập nhật(). Nó thực sự cho phép loại trừ tập hợp trước, được kết quả như thế nào sẽ cập nhật vào tập hợp đích 4symmetric_difference_update() Phương thức này là sự kết hợp của. symmetric_difference() và. cập nhật(). Nó thực sự cho phép loại trừ đối sánh 2 tập hợp trước, được kết quả như thế nào sẽ cập nhật vào tập hợp đích 5giao lộ_update() Tương tự, Python thực hiện. giao lộ() trước sau đó thực hiện. cập nhật() 61. 3. 6 Một số phép toán khácisdisjoint() Trả về True nếu hai tập hợp không giao tiếp, tức là hai tập hợp không có phần tử chung 7Ở đây, chúng ta sử dụng toán tử logic not để thực hiện trả về True khi hai tập tin giao tiếp với nhau, nghe nó thuận tai hơn. D issubset() Trả về True nếu tệp này còn tệp con của tệp đích (tệp trong trích) 8issuperset() Trả về True nếu tệp này là tệp cha của tệp đích (tệp trong trích) 9Ngoài ra, chúng ta có thể sử dụng các ký hiệu cho phép so sánh thông thường để kiểm tra xem là tập con, tập cha hay hai tập bằng nhau với >, >=, ==, <, <= 01. 4 “Đóng băng” tập hợp (Frozen Set)Python cung cấp tên hàm là Frozenset(), kết quả trả về là một tập hợp (Set) không thể thay đổi. Khi đó, nếu bạn thực hiện các phương thức. cộng(),. gỡ bỏ(),. update()… sẽ báo lỗi “Đóng băng” tập hợp sẽ làm cho tập hợp đó giống như cấu trúc Tuple trong Python 1Đóng băng một tập hợp rất hữu ích trong trường hợp bạn muốn tập hợp đó không thể thay đổi. Ví dụ khi sử dụng một tập hợp làm chìa khóa cho một từ điển (Dictionary), sẽ được giới thiệu trong phần tiếp theo 2Tuy nhiên, nếu bạn đóng băng các tập hợp này, sẽ không có bất kỳ lỗi nào xảy ra. 32. Tập hợp sử dụng khi nào?Toán tập hợp hay lý thuyết tập hợp là một trong những phần quan trọng của Toán học mà Khoa học dữ liệu (khoa học dữ liệu) và Machine Learning sử dụng kiến thức toán học rất nhiều, do đó tập hợp toán trong Python là một phần không thể . Ngay từ đầu Python đã được phát triển cho mục đích Khoa học và Giáo dục, do đó bạn có thể thấy các thiết kế mang hơi hướng Khoa học Tập hợp cũng là một nhóm các dữ liệu giống như Danh sách và Tuple nhưng nó lại được xây dựng sẵn các tập hợp toán cho phép, do đó tập hợp sẽ được sử dụng khi chương trình của bạn cần được phép tập hợp như toán học. liên hiệp(),. Sự khác biệt(),. giao lộ()… Để lựa chọn cấu trúc dữ liệu phù hợp, bạn cần nắm rõ những đặc điểm của từng loại, ở đây Set có những đặc điểm mà tôi đã đưa ra ở phần đầu, dưới đây chỉ cần nhắc lại |