Săn, J. (2019). Bộ sưu tập, bộ dữ liệu và danh sách. Trong. Hướng dẫn lập trình Python 3 cho người mới bắt đầu. Chủ đề đại học trong khoa học máy tính. Springer, Chăm. https. //doi. tổ chức/10. 1007/978-3-030-20290-3_31 Show Các đối tượng tập hợp là một tập hợp các phần tử duy nhất không có thứ tự, vì vậy khi chúng tôi chuyển đổi bộ dữ liệu thành một Mặc dù vậy, cần lưu ý một điều - các đối tượng Nếu bạn cần chắc chắn rằng đơn đặt hàng sẽ được giữ nguyên, hãy sử dụng phương thức Để loại bỏ các bản sao từ một tuple
Lớp nhớ thứ tự mà các mục của nó đã được thêm vào Phương thức lấy một lần lặp và tạo một từ điển mới với các khóa từ lần lặp Phương thức này cũng có một đối số Vì các khóa từ điển là duy nhất, nên việc chuyển đổi các phần tử bộ thành khóa từ điển sẽ tự động loại bỏ mọi bản sao Bước cuối cùng là sử dụng lớp Bạn cũng có thể sử dụng vòng lặp Bước đầu tiên là lặp qua tuple Trên mỗi lần lặp, chúng tôi kiểm tra xem mục hiện tại không có trong danh sách mới Các bài kiểm tra tư cách thành viên. Ví dụ: Hoặc, nếu bạn biết rằng các giá trị luôn là 1, 2, 3,. , n, bạn có thể sử dụng
Nếu bạn tò mò về việc sử dụng cách hiểu kép trong biểu thức trình tạo, bạn có thể xem câu hỏi này Bạn có thể nhập trực tiếp các mục trùng lặp vào một bộ Python vì nó không hoạt động giống như một bộ (chỉ lấy các mục duy nhất). thí dụmyTpl = (1, 2, 2, 2, 3, 5, 5, 4) Bạn cũng có thể sử dụng các toán tử trên các bộ dữ liệu để soạn các bộ dữ liệu lớn. Ví dụ myTpl = (1,) * 5 print(myTpl) đầu raĐiều này sẽ cung cấp cho đầu ra (1,1,1,1,1) Bạn cũng có thể nối các bộ bằng toán tử +. thí dụmyTpl = (1,) * 3 + (2,) * 2 print(myTpl) đầu raĐiều này sẽ cung cấp cho đầu ra (1,1,1,2,2) Danh sách và bộ dữ liệu rất giống nhau trong Python và thường bị nhầm lẫn. Sự khác biệt đáng kể là một danh sách có thể thay đổi, nhưng một bộ dữ liệu thì không. Vì vậy, chúng tôi bao gồm một danh sách khi chúng tôi muốn chứa các mục tương tự và bao gồm một bộ khi chúng tôi biết trước thông tin nào sẽ có trong đó Cả danh sách và bộ dữ liệu đều chứa một bộ sưu tập các mục được sắp xếp theo thứ tự Sự khác biệt cơ bản mà bạn sẽ thấy về mặt cú pháp là một danh sách được bao bởi dấu ngoặc vuông [] và một Tuple được bao bởi dấu ngoặc đơn (). Đoạn mã sau định nghĩa cả danh sách và bộ dữ liệu Danh sách có thể thay đổi, có nghĩa là chương trình có thể thay đổi nó. Một bộ dữ liệu là bất biến, có nghĩa là chương trình không thể thay đổi nó. Đoạn mã sau chứng minh rằng chương trình có thể thay đổi một danh sách. Mã này cũng minh họa rằng Python lập chỉ mục danh sách bắt đầu từ phần tử 0. Truy cập phần tử một sửa đổi phần tử thứ hai trong bộ sưu tập. Một lợi thế của bộ dữ liệu so với danh sách là bộ dữ liệu thường lặp lại nhanh hơn một chút so với danh sách. Một lợi thế của bộ dữ liệu so với danh sách là bộ dữ liệu thường nhanh hơn một chút để lặp qua danh sách Giống như nhiều ngôn ngữ, Python có câu lệnh for. Câu lệnh này cho phép bạn lặp qua mọi phần tử trong bộ sưu tập, chẳng hạn như danh sách hoặc bộ Hàm liệt kê rất hữu ích để liệt kê một bộ sưu tập và có quyền truy cập vào chỉ mục của phần tử mà chúng tôi hiện đang sử dụng Một danh sách có thể có nhiều đối tượng được thêm vào, chẳng hạn như các chuỗi. Các giá trị trùng lặp được cho phép. Các bộ dữ liệu không cho phép chương trình thêm các đối tượng bổ sung sau khi định nghĩa Các bộ sưu tập có thứ tự, chẳng hạn như danh sách và bộ dữ liệu, cho phép bạn truy cập một phần tử theo số chỉ mục của nó, chẳng hạn như được thực hiện trong đoạn mã sau. Các bộ sưu tập không có thứ tự, chẳng hạn như từ điển và bộ, không cho phép chương trình truy cập chúng theo cách này Một danh sách có thể có nhiều đối tượng được thêm vào, chẳng hạn như các chuỗi. Các giá trị trùng lặp được cho phép. Các bộ dữ liệu không cho phép chương trình thêm các đối tượng bổ sung sau khi định nghĩa. Đối với chức năng chèn, chỉ mục, lập trình viên phải chỉ định chỉ mục. Các thao tác này không được phép đối với các bộ dữ liệu vì chúng sẽ dẫn đến thay đổi bộMột bộ Python chứa một bộ sưu tập các đối tượng không có thứ tự, nhưng các bộ cho phép trùng lặp. Nếu một chương trình thêm một mục trùng lặp vào một bộ, chỉ một bản sao của mỗi mục còn lại trong bộ sưu tập. Thêm một mục trùng lặp vào một bộ không gây ra lỗi. Bất kỳ kỹ thuật nào sau đây sẽ xác định một tập hợp Một danh sách luôn được đặt trong dấu ngoặc vuông [], một bộ trong dấu ngoặc đơn (), và bây giờ chúng ta thấy rằng lập trình viên đặt một tập hợp trong dấu ngoặc nhọn. Các chương trình có thể thêm các mục vào một tập hợp khi chúng chạy. Các chương trình có thể tự động thêm các mục vào một bộ bằng chức năng thêm. Điều quan trọng cần lưu ý là hàm chắp thêm các mục vào danh sách và bộ, trong khi hàm add thêm các mục vào một tập hợp Bản đồ/Từ điểnNhiều ngôn ngữ lập trình bao gồm khái niệm bản đồ, từ điển hoặc bảng băm. Đây là tất cả các khái niệm rất liên quan. Python cung cấp một từ điển, về cơ bản là một tập hợp các cặp tên-giá trị. Các chương trình xác định từ điển bằng cách sử dụng dấu ngoặc nhọn, như được thấy ở đây Bạn cũng có thể truy cập các khóa và giá trị riêng lẻ của từ điển Từ điển và danh sách có thể được kết hợp. Cú pháp này liên quan chặt chẽ đến JSON. Từ điển và danh sách cùng nhau là một cách tốt để xây dựng cấu trúc dữ liệu rất phức tạp. Trong khi Python cho phép trích dẫn (“) và dấu nháy đơn (‘) cho chuỗi, JSON chỉ cho phép trích dẫn kép (“). Chúng tôi sẽ trình bày chi tiết hơn về JSON ở phần sau của mô-đun này Đoạn mã sau cho thấy cách sử dụng kết hợp giữa từ điển và danh sách Biến khách hàng là danh sách chứa ba từ điển đại diện cho khách hàng. Bạn có thể coi những từ điển này như những bản ghi trong một bảng. Các trường trong các bản ghi riêng lẻ này là các khóa của từ điển. Ở đây tên khóa và vật nuôi là các trường. Tuy nhiên, lĩnh vực vật nuôi giữ một danh sách các tên vật nuôi. Không có giới hạn về độ sâu mà bạn có thể chọn để lồng các danh sách và bản đồ. Cũng có thể lồng bản đồ bên trong bản đồ hoặc danh sách bên trong danh sách khác Danh sách nâng cao hơnMột số tính năng nâng cao có sẵn cho các danh sách mà phần này giới thiệu. Một chức năng như vậy là zip. Hai danh sách có thể được kết hợp thành một danh sách bằng lệnh zip. Đoạn mã sau minh họa lệnh zip Phương pháp thông thường để sử dụng lệnh zip nằm trong vòng lặp for. Đoạn mã sau cho thấy cách một vòng lặp for có thể gán một biến cho mỗi bộ sưu tập mà chương trình đang lặp lại Đôi khi bạn có thể muốn biết chỉ mục số hiện tại khi vòng lặp for đang lặp qua một tập hợp có thứ tự. Sử dụng lệnh liệt kê để theo dõi vị trí chỉ mục cho phần tử bộ sưu tập. Vì lệnh liệt kê xử lý các chỉ mục số của bộ sưu tập nên lệnh zip sẽ gán các chỉ mục tùy ý cho các phần tử từ các bộ sưu tập không có thứ tự Lệnh hiểu có thể tự động xây dựng một danh sách. Phần hiểu dưới đây đếm từ 0 đến 9 và thêm từng giá trị (nhân với 10) vào danh sách Một từ điển cũng có thể là một sự hiểu biết. Định dạng chung cho điều này là. dict_variable = {key. giá trị cho (khóa, giá trị) trong từ điển. mặt hàng()} Có cho phép trùng lặp trong Tuple không?Bạn có thể nhập trực tiếp các mục trùng lặp vào một bộ Python vì nó không hoạt động giống như một bộ (chỉ lấy các mục duy nhất)
Bộ dữ liệu trùng lặp không được phép?Các bộ dữ liệu trùng lặp không được phép trong một mối quan hệ vì chúng tạo ra sự dư thừa dữ liệu bên trong cơ sở dữ liệu làm chậm quá trình xử lý dữ liệu như truy vấn, chèn, xóa, cập nhật, v.v. của cơ sở dữ liệu.
Bộ dữ liệu Python có độc đáo không?Khi cần lấy các phần tử duy nhất trong một bộ lồng nhau, có thể sử dụng vòng lặp lồng nhau và toán tử 'set'. Python đi kèm với kiểu dữ liệu được gọi là 'set'. 'Tập hợp' này chỉ chứa các phần tử duy nhất . Tập hợp hữu ích trong việc thực hiện các phép toán như giao, hiệu, hợp và hiệu đối xứng.
Những hạn chế của tuple trong Python là gì?Nhược điểm của bộ dữ liệu . Chúng ta không thể thêm một phần tử vào bộ dữ liệu nhưng chúng ta có thể thêm phần tử vào danh sách Chúng ta không thể sắp xếp một bộ nhưng trong một danh sách, chúng ta có thể sắp xếp bằng cách gọi "list. phương pháp sắp xếp ()" Chúng tôi không thể xóa phần tử trong tuple nhưng trong danh sách, chúng tôi có thể xóa phần tử Chúng tôi không thể thay thế một phần tử trong bộ dữ liệu nhưng bạn có thể trong danh sách |