Cách lấy đầu vào trong set trong python

Set là một trong 4 kiểu dữ liệu tích hợp trong Python được sử dụng để lưu trữ các bộ sưu tập dữ liệu, 3 kiểu còn lại là List, Tuple và Dictionary, tất cả đều có chất lượng và cách sử dụng khác nhau

Một bộ là một bộ sưu tập không có thứ tự, không thể thay đổi* và không được lập chỉ mục

* Ghi chú. Các mục trong bộ không thể thay đổi, nhưng bạn có thể xóa các mục và thêm các mục mới

Các tập hợp được viết bằng dấu ngoặc nhọn

Thí dụ

Tạo một bộ

thisset = {"apple", "banana", "cherry"}
print[thisset]

Tự mình thử »

Ghi chú. Các bộ không có thứ tự, vì vậy bạn không thể chắc chắn các mục sẽ xuất hiện theo thứ tự nào

Đặt mục

Các mục của bộ không có thứ tự, không thể thay đổi và không cho phép các giá trị trùng lặp

không có thứ tự

Không có thứ tự có nghĩa là các mục trong một bộ không có thứ tự xác định

Các mục trong bộ có thể xuất hiện theo một thứ tự khác mỗi khi bạn sử dụng chúng và không thể được gọi bằng chỉ mục hoặc khóa

không thể thay đổi

Các mục trong bộ không thể thay đổi, nghĩa là chúng ta không thể thay đổi các mục sau khi tạo bộ

Sau khi một bộ được tạo, bạn không thể thay đổi các mục của nó, nhưng bạn có thể xóa các mục và thêm các mục mới

Bản sao không được phép

Bộ không thể có hai mục có cùng giá trị

Thí dụ

Các giá trị trùng lặp sẽ bị bỏ qua

thisset = {"táo", "chuối", "anh đào", "táo"}

in [bộ này]

Tự mình thử »

Lấy chiều dài của một tập hợp

Để xác định một bộ có bao nhiêu mục, hãy sử dụng hàm

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
81

Thí dụ

Lấy số lượng mặt hàng trong một bộ

thisset = {"táo", "chuối", "anh đào"}

in[len[thisset]]

Tự mình thử »

Đặt mục - Kiểu dữ liệu

Các mục của tập hợp có thể thuộc bất kỳ loại dữ liệu nào

Thí dụ

Các kiểu dữ liệu chuỗi, int và boolean

set1 = {"táo", "chuối", "anh đào"}
set2 = {1, 5, 7, 9, 3}
set3 = {True, False, False}

Tự mình thử »

Một tập hợp có thể chứa các loại dữ liệu khác nhau

Thí dụ

Một tập hợp có chuỗi, số nguyên và giá trị boolean

set1 = {"abc", 34, Đúng, 40, "nam"}

Tự mình thử »

loại hình[]

Theo quan điểm của Python, các tập hợp được định nghĩa là các đối tượng có kiểu dữ liệu 'set'

Thí dụ

Kiểu dữ liệu của một tập hợp là gì?

myset = {"apple", "banana", "cherry"}
print[type[myset]]

Tự mình thử »

Bộ xây dựng []

Cũng có thể sử dụng hàm tạo set[] để tạo một tập hợp

Thí dụ

Sử dụng hàm tạo set[] để tạo một tập hợp

thisset = set[["apple", "banana", "cherry"]] # lưu ý dấu ngoặc tròn kép
print[thisset]

Tự mình thử »

Bộ sưu tập Python [Mảng]

Có bốn kiểu dữ liệu tập hợp trong ngôn ngữ lập trình Python

  • Danh sách là một bộ sưu tập được sắp xếp theo thứ tự và có thể thay đổi. Cho phép các thành viên trùng lặp
  • Tuple là một bộ sưu tập được sắp xếp và không thể thay đổi. Cho phép các thành viên trùng lặp
  • Set là một bộ sưu tập không có thứ tự, không thể thay đổi* và không được lập chỉ mục. Không có thành viên trùng lặp
  • Từ điển là một bộ sưu tập được sắp xếp theo thứ tự ** và có thể thay đổi. Không có thành viên trùng lặp

*Các mục trong bộ không thể thay đổi, nhưng bạn có thể xóa các mục và thêm các mục mới

** Kể từ phiên bản Python 3. 7, từ điển được đặt hàng. Trong Trăn 3. 6 trở về trước, từ điển không có thứ tự

Khi chọn một loại bộ sưu tập, sẽ rất hữu ích khi hiểu các thuộc tính của loại đó. Việc chọn đúng loại cho một tập dữ liệu cụ thể có thể đồng nghĩa với việc giữ nguyên ý nghĩa và, điều đó có thể đồng nghĩa với việc tăng hiệu quả hoặc tính bảo mật

Tập hợp là loại dữ liệu bộ sưu tập không có thứ tự, có thể lặp lại, có thể thay đổi và không có phần tử trùng lặp.  

Tập hợp được đại diện bởi { } [các giá trị được đặt trong dấu ngoặc nhọn]

Ưu điểm chính của việc sử dụng một tập hợp, trái ngược với một 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ó được chứa trong tập hợp hay không. Điều này dựa trên cấu trúc dữ liệu được gọi là bảng băm. Vì các tập hợp 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 như chúng ta làm trong danh sách

Ví dụ về Bộ

Python3




{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
82
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
2
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
4
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
2
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
7

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
8
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
9

đầu ra

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0

Phương thức set[] của Python được sử dụng để truyền kiểu trong Python

Python3




{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
10

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
13_______114
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
15
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
17
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
19
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
10

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
12

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
13

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
14
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
15
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
12

đầu ra

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}

Bộ đông lạnh Python

Các tập hợp 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 tập hợp cố định hoặc các tập hợp 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 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 cố định vẫn 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 bộ đóng băng trống

con trăn




{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
19

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
20

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
21

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
22
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
13
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
14
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
15
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
17
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
19
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
10

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
53____454
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
57

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
58

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
59
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
31_______114____533
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
35
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
37
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
10

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
53____631
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
34

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
35

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
36

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
37

đầu ra

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1

Làm việc nội bộ của Set

Điều này dựa trên cấu trúc dữ liệu được gọi là bảng bă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 liên kết. Trong, Bộ Python được triển khai bằng cách sử dụng từ điển với các biến giả, trong đó các sinh vật chính mà các thành viên đặt với mức độ tối ưu hóa cao hơn đối với độ phức tạp về thời gian.

Đặt thực hiện

 

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

 

Phương pháp cho Sets

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

Việc chèn vào tập hợp được thực hiện thông qua tập hợp. 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ôi. e. , O[1] trung bình. Tuy nhiên, trong trường hợp xấu nhất, nó có thể trở thành O[n]

Python3




{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
38

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
39

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
30

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
31

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
32
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
35
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
37
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
39
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
7

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
53____1823
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
824
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
826
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
829

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
00

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
01

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
02
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
03
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
05

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
06

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
07
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
08
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
09
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
10
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
53
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
12
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
14
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
15

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16____017

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
53____020
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
824
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
826
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
829

đầu ra

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1

Hoạt động liên kết trên Bộ Python

Hai tập hợp có thể được hợp nhất bằng hàm union[] hoặc. nhà điều hành. 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 tập hợp cần thực hiện phép hợp.
 

Python3




{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
27

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
28

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
29

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
32
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
35
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
37
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
37
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
7

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
39
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
42
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
44
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
7

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
46
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
49
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
51
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
7

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
53

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
54

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
55
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
57

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
53____060
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
63

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
64

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
65

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
55
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
68

 

_______211____453____071

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
16

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
11
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
63

đầu ra

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
2

Hoạt động giao lộ trên Python Sets

Điều này có thể được thực hiện thông qua toán tử giao nhau[] hoặc và. Các phần tử chung được chọn. Chúng tương tự như việc lặp lại các danh sách Hash 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 tập hợp cần thực hiện phép hợp

Python3




{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
75

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
76

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
77

 

{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
78
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
0
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
1
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
12
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
191
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
100
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
195
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
91
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
3
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
14
{'c', 'b', 'a'}
{'d', 'c', 'b', 'a'}
7

Chủ Đề