Bạn có thể tin được không?
Tôi hy vọng tôi đã không đưa bạn vào giấc ngủ, nhưng chúng ta gần như ở đó.
Chúng tôi có một bộ kiểu dữ liệu chính cuối cùng và sau đó chúng tôi đã hoàn tất.
Tôi biết, tôi biết đây không phải là chủ đề thú vị nhất.
Tin tôi đi, đây là phần khó nhất.
Khi bạn mới bắt đầu và bạn chỉ đang học những điều này mà không hiểu gì.
Tại sao tôi cần cái này?
Tôi sẽ xây dựng trò chơi tiếp theo như thế nào?
Làm cách nào để xây dựng Netflix tiếp theo?
Làm cách nào để xây dựng ứng dụng Apple thú vị nhất tiếp theo?
Bạn đang nhìn vào cái này và nghĩ, tôi vừa học được một đống lý thuyết.
Tôi cảm thấy như tôi đang ở trong lớp toán học một lần nữa.
Tôi biết.
Hãy tin tôi, tôi đã vượt qua điều này.
Tôi cũng là một lập trình viên tự học.
Đây là những khối Lego xây dựng nền tảng của chúng tôi.
Khi chúng ta học được những điều này, chúng ta có thể chuyển sang những điều mới và bạn sẽ thấy rằng một khi bạn leo lên ngọn núi nhỏ
này, mọi thứ trở nên dễ dàng hơn rất nhiều và bạn sẽ nhận ra sức mạnh.
Khi chúng tôi bắt đầu xây dựng những dự án này vào cuối buổi học, nơi bạn sẽ nói, Ồ, tất cả những khối
mà chúng tôi đã học được, tất cả những phần nhàm chán thẳng thắn này đều sẽ có ý nghĩa.
Vì vậy, treo ở đó.
Nó được cho là khó.
Nó được cho là khó khăn, nhưng bạn sẽ sớm thấy lý do tại sao điều này lại mạnh mẽ như vậy và tại sao những gì chúng
ta vừa học được sẽ cho phép chúng ta xây dựng một số thứ thực sự tuyệt vời và tạo ra một số chương trình thực sự tuyệt vời.
Vì vậy, hãy kết thúc với cái cuối cùng, kiểu dữ liệu cuối cùng, cấu trúc dữ liệu cuối cùng mà chúng ta sẽ thấy trong
Python, ít nhất là từ những cái chính.
Và nó được gọi là tập hợp và các tập hợp chỉ đơn giản là các tập hợp không có thứ tự của các đối tượng duy nhất.
Hừ!
Chúng ta hãy có một cái nhìn.
Hãy tạo một tập hợp của tôi và tập hợp của tôi.
Chúng tôi tạo bằng dấu ngoặc nhọn giống như một từ điển.
Nhưng thay vì từ điển, chúng tôi không có các cặp giá trị khóa.
Thay vào đó, chúng ta chỉ có các giá trị như một, hai, ba, bốn, năm.
Đó là nó.
Đó là một tập hợp.
Chúng tôi vừa tạo một tập hợp.
Nhưng hãy nhớ rằng, định nghĩa mà tôi đưa ra cho bạn là một tập hợp các đối tượng duy nhất không có thứ tự.
Điều đó nghĩa là gì?
Chà, nếu tôi in cái này và nói tập hợp của tôi và tôi bấm Chạy.
Tôi nhận được một bộ.
Nhưng nếu tôi có, hãy nói thêm năm lần nữa ở đây và tôi nhấp vào Chạy.
Nó chỉ trả về các bộ duy nhất hoặc các mục duy nhất mà bạn thấy trong một bộ.
Không có bản sao.
Mọi thứ phải là duy nhất.
Vì vậy, năm điều này không bao giờ được thêm vào một tập hợp.
Ví dụ: bạn có thể thêm mọi thứ vào một tập hợp như tập hợp của tôi, sau đó tôi có thể nói thêm và cung cấp cho nó một giá
trị như 100.
Và sau đó, giả sử tôi thực hiện quảng cáo dấu chấm đã đặt của mình và sau đó cung cấp cho nó nếu tôi nhấp vào chạy ở đây.
Tôi thấy rằng tôi đã có thể thêm 100, nhưng hai tốt, hai không thực sự được thêm vì tập hợp của tôi đã chứa
dữ liệu đó.
Đó là một lệnh.
Ý tôi là, chúng tôi đã tạo một, hai, ba, bốn, năm ở đây, nhưng không có thứ tự thực sự nào cho nó.
Không có giá sách nào trong không gian ký ức của chúng ta nằm ngay cạnh nhau.
Những thứ này ở khắp nơi trong bộ nhớ, nhưng một tập hợp có thể tìm thấy chúng vì chúng đều là duy nhất.
Vì vậy, tất cả chúng chỉ ở một vị trí trong bộ nhớ.
Vì vậy, hãy để tôi hỏi bạn điều này.
Và đây sẽ là một bài tập nhỏ thú vị.
Nếu tôi đã cho bạn một mảng.
Và giả sử điều này được chứa đựng.
Chà, cái này ngay đây.
Và tôi muốn bạn trả về một mảng không có bản sao.
Vì vậy, tôi muốn mọi thứ trong.
Hãy cùng nói nào.
Hãy gọi nó là danh sách của tôi.
Và một lập trình viên đã tạo ra điều này.
Được chứ.
Và sau đó nhiệm vụ của bạn là tạo hoặc trả về một danh sách hoặc một bộ sưu tập chỉ có các mục duy nhất.
Làm thế nào bạn sẽ chuyển đổi này thành một tập hợp?
Chà, chúng tôi đã thấy điều này trước đây.
Chúng tôi có một chức năng thiết lập và chúng tôi chỉ cần bọc danh sách của tôi trong tập hợp đó.
Và hãy in nó ra.
Tôi bấm chạy.
Kiểm tra nó ra.
Chúng tôi đã thành lập một tập hợp mới từ một danh sách.
Và tôi đã loại bỏ tất cả các giá trị trùng lặp.
Khi nào điều này sẽ hữu ích?
Hãy tưởng tượng nếu chúng ta có tên người dùng, phải không?
Hoặc địa chỉ email.
Chúng tôi đang thu thập các địa chỉ email trên trang khởi động của mình, nhưng chúng tôi không muốn có các email trùng lặp.
Chúng tôi có thể muốn chuyển đổi danh sách email này thành một tập hợp và xóa mọi bản sao.
Vì vậy, chúng tôi không gửi email nhiều lần.
Vì vậy, điều đó thực sự tuyệt vời.
Cái này thì sao?
Tôi có thể.
Hãy thay đổi điều này thành một tập hợp.
Vì vậy, hãy gọi nó là bộ của tôi.
Nó sẽ thay đổi điều này thành một tập hợp.
Của bạn đây.
Và sau đó, điều gì sẽ xảy ra nếu tôi muốn truy cập tập hợp của mình ở chỉ mục bằng 0?
Hừ!
Đối tượng đặt không hỗ trợ lập chỉ mục.
Một lần nữa, bạn có thể coi nó như một cuốn từ điển.
Để truy cập một tập hợp, chúng ta phải lấy theo mục có trong đó.
Đó là chìa khóa để lấy thông tin từ bộ nhớ.
Cách chúng tôi kiểm tra xem có thứ gì đó tồn tại hay không là chúng tôi chỉ cần nói, Này, là một cái trong tập hợp của tôi và chúng tôi chạy cái này.
Và chúng tôi nhận được sự thật.
Chúng tôi cũng có thể làm theo chiều dài của tập hợp của tôi và chúng tôi nhận được năm.
Một lần nữa, không có gì quá điên rồ ngoài một, hai, ba, bốn, năm.
Hãy nhớ nó chỉ tính những thứ duy nhất vì điều này sẽ không bao giờ được nhập.
Đó là một tập hợp.
Và cách khác, chúng ta cũng có thể chuyển nó thành một danh sách.
Nếu tôi nhấp vào Chạy ở đây, bạn sẽ thấy rằng bây giờ tôi đã thiết lập danh sách của mình.
Và sau đó chúng ta cũng có thể làm, giả sử bản sao tập hợp dấu chấm của tôi và thực sự sao chép tập hợp của tôi thành một cái gì đó,
giả sử mới.
Hoặc bộ mới, và sau đó bộ này sẽ hoàn toàn khác hoặc một bản sao mới hơn bộ gốc này.
Vì vậy, chúng ta hãy kiểm tra điều này ra.
Bộ mới này.
Nếu tôi sử dụng một phương pháp mà chúng ta có thể đã thấy trước đây, đó là dấu chấm tập hợp của tôi xóa, như bạn có thể tưởng
tượng, xóa tập hợp và tôi nhấp vào chạy.
Tôi có bộ mới đó.
Nhưng khi tôi thử và in bộ cũ của chúng tôi, đó là bộ của tôi, nó sẽ trống rỗng và bộ trống.
Nhưng sức mạnh thực sự của tập hợp đến trong một vài phương pháp tiếp theo mà tôi sẽ chỉ cho bạn.
Và các bộ có khá nhiều phương pháp, nhưng đừng lo, hầu hết chúng đều khá giống nhau.
Vì vậy, hãy cùng khám phá điều đó trong video tiếp theo.