Con trăn seth

Set is type of data collections no thứ tự, có thể lặp lại, có thể thay đổi và không có phần tử trùng lặp

Các bài viết liên quan

  • Sets in Dart language
  • Statistical[thống kê] sử dụng Python
  • Python hướng dẫn
  • Tại sao bạn nên học Python vào năm 2022?
  • Trình thông dịch Python là gì – Môi trường

Set the delegate by { } [các giá trị được đặt trong dấu ngoặc kép]

Ưu điểm chính của việc sử dụng set, ngược lại với danh sách, là nó có một phương pháp được tối ưu hóa cao để kiểm tra xem một phần tử có thể có trong set hay không. Điều này dựa trên cấu trúc dữ liệu được gọi là bảng trùm. Vì các set không có thứ tự nên chúng ta không thể truy cập các mục bằng cách sử dụng chỉ mục mà chúng ta làm trong danh sách

Tóm tắt nội dung

Ví dụ về Set

var = {"set1", "set2", "set3"}
type[var]

set

# chuyển từ list sang set
myset = set[["a", "b", "c"]]
print[myset]

# thêm element vào set
myset.add["d"]
print[myset]

Cố định Set Python

Các bộ cố định trong Python là các đối tượng bất biến, chỉ hỗ trợ các phương thức và toán tử tạo ra kết quả mà không ảnh hưởng đến bộ cố định hoặc các bộ mà chúng được áp dụng. Nó có thể được thực hiện với phương thức freezeset[] trong Python

Mặc dù các phần tử của một tập hợp có thể được sửa đổi bất kỳ lúc nào, nhưng các phần tử của tập hợp vẫn được giữ nguyên sau khi tạo

Nếu không có tham số nào được truyền, nó sẽ trả về một tập hợp đóng băng

# khai báo tập hợp {"a", "b","c"}
normal_set = set[["a", "b","c"]]

print["tập hợp"]
print[normal_set]

# tập hợp cố định
frozen_set = frozenset[["e", "f", "g"]]

print["\n tập hợp frozenset"]
print[frozen_set]

Cách hoạt động của Set

Điều này dựa trên cấu trúc dữ liệu được gọi là bảng trùm

Nếu nhiều giá trị xuất hiện ở cùng một vị trí chỉ mục, thì giá trị đó sẽ được thêm vào vị trí chỉ mục đó để tạo thành danh sách được kết nối. Trong, bộ Python được khai triển từ điển bằng cách sử dụng từ với các biến giả, trong đó các sinh vật chính mà các thành viên đặt ra với mức độ tối ưu hóa cao hơn đối lập với độ phức tạp về thời gian.

Set khai thác

Đặt nhiều hoạt động trên một HashTable duy nhất

Method for Sets

Thêm phần tử vào Python Sets

Việc chèn vào set đã được thực hiện thông qua set function. add[], trong đó một giá trị bản ghi thích hợp được tạo để lưu trữ trong bảng băm. Giống như kiểm tra một mục, tức là trung bình O[1]. Tuy nhiên, trong trường hợp xấu nhất, nó có thể trở thành O[n]

#tạo tập hợp
people = {"people1", "people2", "people3"}

print["People:", end = " "]
print[people]

#thêm vào tập hợp
people.add["people4"]

#duyệt từng phần tử sử dụng range
for i in range[1, 6]:
	people.add[i]

print["\ntập hợp sau khi thêm element:", end = " "]
print[people]

Hợp nhất trên Set Python

Hai bộ có thể được hợp nhất tốt nhất bằng hàm union[] hoặc toán tử. Cả hai giá trị Bảng băm đều được truy cập và duyệt qua với thao tác hợp nhất được thực hiện trên chúng để kết hợp các phần tử, đồng thời loại bỏ các phần tử trùng lặp. Độ phức tạp thời gian của điều này là O[len[s1] + len[s2]] trong đó s1 và s2 là hai bộ cần được phép thực hiện hợp lệ

people = {"people1", "people2", "people3"}
vampires = {"vampires1", "vampires2"}
dracula = {"dracula1", "dracula2"}

# hợp sử dụng union[]
population = people.union[vampires]

print["hợp tập hợp sử dụng union[]"]
print[population]


#hợp sử dụng toán tử Ư
population = people|dracula

print["\nhợp tập hợp sử dụng |"]
print[population]

Giao trên Set

Điều này có thể được thực hiện thông qua giao lộ toán học [] hoặc &. Các phần tử chung được chọn. Chúng tương tự như việc lặp lại các Hash list và kết hợp các giá trị giống nhau trên cả hai Bảng. Độ phức tạp về thời gian của điều này là O[min[len[s1], len[s2]] trong đó s1 và s2 là hai bộ cần thực hiện cho phép hợp nhất

#tạo 2 tập hợp
set1 = set[]
set2 = set[]

#sử dụng range 5
for i in range[5]:
	set1.add[i]
#sử dụng range 3 đến 9
for i in range[3,9]:
	set2.add[i]

# sử dụng toán tử giao
set3 = set1.intersection[set2]

print["giao tập hợp sử dụng intersection[]"]
print[set3]

#Giao tập hợp sử dụng &
set3 = set1 & set2

print["\niao tập hợp sử dụng '&'"]
print[set3]

Tìm phần tử khác của các tập hợp trong Python

Để tìm sự khác biệt giữa các bộ. Tương tự như tìm sự khác biệt trong danh sách liên kết. Điều này được thực hiện thông qua toán tử Difference[] hoặc –. Độ phức tạp thời gian của việc tìm kiếm hiệu s1 – s2 là O[len[s1]]

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

  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 element and other section of this death, the position of it'shỗn hợp 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 đi 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 như một số [int], một chuỗi [chuỗi] hoặc một

1. 1 Khai báo tập hợp

Tập hợp [Set] trong Python có một số tính chất mà bạn cần nhớ

  • Các phần tử trong tập hợp không có thứ tự
  • Các phần tử này là duy nhất, không cho phép lặp lại
  • Đặt có thể thay đổi [giảm phần tử] nhưng các phần tử của tập hợp phải ở định dạng không thể thay đổi [tức là xác định dung lượng bộ nhớ ngay khi khai báo]

Chúng ta sử dụng các dấu ngoặc kép trong báo cáo Đặt, ví dụ

friends = {"Rolf","Bob","Anne"}
print[friends]

Chú thích

  • [] sử dụng khai báo Danh sách
  • [] sử dụng khai báo Tuple
  • {} sử dụng khai báo Set

1. 2 Change file composit

Cá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ụ

________số 8_______

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ụ

friends = {"Rolf","Bob","Anne"}
friends.remove["Anne"]
print[friends] # Kết quả là {"Rolf","Bob"}
friends.remove["Jen"]
print[friends] # Kết quả là lỗi KeyError: "Jen"

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ả

friends = {"Rolf","Bob","Anne"}
friends.discard["Anne"]
print[friends] # Kết quả là {"Rolf","Bob"}
friends.discard["Jen"]
print[friends] # Kết quả là {"Rolf","Bob"}

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

friends = {"Rolf","Bob","Anne"}
friends.pop[]
print[friends] # Kết quả là {"Bob","Rolf"}

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. thông thoáng[]

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

friends = {"Rolf","Bob","Anne"}
friends.clear[]
print[friends] # Kết quả là set[]

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

friends = {"Rolf","Bob","Anne"}
friends.update[["Jen","Charlie"],{"Jonhny", "Sara"},["Laura","Elite"]]
print[friends] # Kết quả là {'Anne', 'Laura', 'Elite', 'Rolf', 'Jonhny', 'Charlie', 'Bob', 'Sara', 'Jen'}

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ụ

friends = {"Rolf","Bob","Anne"}
friends.update["Jen"]
print[friends] # Kết quả là {'n', 'e', 'Rolf', 'Bob', 'Anne', 'J'}

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

friends = {"Rolf","Bob","Anne"}
friends.update[["Jen",]]
# hoặc
friends.update[["Jen"]]
# hoặc
friends.update[{"Jen"}]

Có 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ợp

Cá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 cấp 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

art_friends = {"Rolf", "Anne", "Jen"}
science_friends = {"Jen", "Charlie"}

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]

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
0

Chú ý, “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

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
1

Trong 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

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
2

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

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
3

Tập hợp art_and_science bao gồm các bạn học đồng thời cả lớp Mỹ thuật và lớp Khoa học, do đó kết quả 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ợp

Trong 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

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
4

symmetric_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

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
5

giao lộ_update[]

Tương tự, Python thực hiện. giao lộ[] trước sau đó thực hiện. cập nhật[]

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
6

1. 3. 6 Một số phép toán khác

isdisjoint[] 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

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
7

Ở đây, chúng ta sử dụng , để hoàn trả Đúng 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]

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
8

issuperset[] Trả về True nếu tệp này là tệp cha của tệp đích [tệp trong trích]

friends = {"Rolf","Bob","Anne"}
friends.add["Jen"]
print[friends] # Kết quả là {"Bob","Jen","Anne","Rolf"}
9

Ngoà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 >, >=, ==,

Chủ Đề