Là sự khác biệt duy nhất giữa các bộ và danh sách trong Python thực tế là bạn có thể sử dụng các hàm khác nhau, giao nhau, khác biệt, đối xứng để so sánh hai bộ? Tại sao các chức năng này không thể được áp dụng cho danh sách? Trong những tình huống nào được thiết lập hữu ích hơn danh sách?
DSM
329K62 Huy hiệu vàng574 Huy hiệu bạc481 Huy hiệu Đồng62 gold badges574 silver badges481 bronze badges
Hỏi ngày 10 tháng 9 năm 2012 lúc 15:09Sep 10, 2012 at 15:09
2
Có một sự khác biệt rất lớn.
- Bộ không thể chứa các bản sao
- Bộ không được đặt hàng
- Để tìm một phần tử trong một tập hợp, việc tra cứu băm được sử dụng [đó là lý do tại sao các bộ không được đặt hàng]. Điều này làm cho
__contains__
[toán tửin
] hiệu quả hơn rất nhiều cho các bộ so với danh sách. - Bộ chỉ có thể chứa các mục có thể băm [xem #3]. Nếu bạn cố gắng:
set[[[1],[2]]]
, bạn sẽ nhận đượcTypeError
.
Trong các ứng dụng thực tế, danh sách rất tốt để sắp xếp và có đơn đặt hàng trong khi các bộ rất tốt để sử dụng khi bạn không muốn trùng lặp và không quan tâm đến đơn đặt hàng.
Cũng lưu ý rằng nếu bạn không quan tâm đến đơn đặt hàng, v.v., bạn có thể sử dụng
new_set = myset.intersection[mylist]
Để có được giao điểm giữa set
và list
.
Đã trả lời ngày 10 tháng 9 năm 2012 lúc 15:11Sep 10, 2012 at 15:11
Mgilsonmgilsonmgilson
291K63 Huy hiệu vàng610 Huy hiệu bạc677 Huy hiệu Đồng63 gold badges610 silver badges677 bronze badges
2
sets
- Bộ sưu tập các yếu tố độc đáo không có thứ tự
# example set
newset = {"one", "two", "three"}
0 - Bộ sưu tập các yếu tố được đặt hàngsets
cho phép bạn thực hiện các hoạt động như
# example set
newset = {"one", "two", "three"}
2, # example set
newset = {"one", "two", "three"}
3, # example set
newset = {"one", "two", "three"}
4 và # example set
newset = {"one", "two", "three"}
5, tức là các hoạt động của lý thuyết tập hợp toán học. Các bộ không cho phép lập chỉ mục và được thực hiện trên các bảng băm.# example set
newset = {"one", "two", "three"}
0 là các mảng có độ dài thực sự thay đổi, không phải danh sách liên kết theo kiểu LISP. Trong danh sách các yếu tố được truy cập bởi các chỉ số.Đã trả lời ngày 10 tháng 9 năm 2012 lúc 15:12Sep 10, 2012 at 15:12
Ashwini Chaudharyashwini ChaudharyAshwini Chaudhary
238K56 Huy hiệu vàng451 Huy hiệu bạc499 Huy hiệu Đồng56 gold badges451 silver badges499 bronze badges
Bộ
Một bộ là một bộ sưu tập không được đặt hàng và không được xác định và không cho phép trùng lặp. Trong Python, các bộ được viết bằng dấu ngoặc xoăn.
# example set
newset = {"one", "two", "three"}
- Bạn không thể truy cập các mục trong một tập hợp bằng cách tham khảo một chỉ mục
- Bộ có thể thay đổi
- Chúng rất hữu ích để kiểm tra các bản sao
Danh sách
Một danh sách là một bộ sưu tập được đặt hàng và thay đổi. Trong danh sách Python được viết bằng dấu ngoặc vuông.
# example list
newlist =["one", "two", "three"]
- Bạn truy cập các mục danh sách bằng cách tham khảo số chỉ mục
- Danh sách là có thể thay đổi.
Benzkji
1.58015 huy hiệu bạc41 Huy hiệu đồng15 silver badges41 bronze badges
Đã trả lời ngày 4 tháng 12 năm 2018 lúc 8:59Dec 4, 2018 at 8:59
P.singhP.singhP.singh
711 huy hiệu bạc2 huy hiệu đồng1 silver badge2 bronze badges
1
Đặt đại diện cho một bộ sưu tập các yếu tố riêng biệt. Trong Python, các bộ chủ yếu được sử dụng vì hai lý do [cuốn sách: Khoa học dữ liệu từ đầu, Joel Gruce]:
Đối với hoạt động nhanh hơn: IN là một hoạt động rất nhanh trên các bộ. Nếu chúng ta có một bộ sưu tập lớn các yếu tố và nếu chúng ta muốn thực hiện kiểm tra thành viên, trong trường hợp đó, việc sử dụng SET thay vì danh sách là phù hợp.in is a very fast operation on sets. If we have a large collection of elements and if we wish to perform membership test, in that case it is appropriate to use set instead of a list.
Để tìm một mục riêng biệt trong một bộ sưu tập. Các lập trình viên sử dụng các bộ ít thường xuyên hơn nhiều so với các dicts và danh sách.
Đã trả lời ngày 12 tháng 9 năm 2017 lúc 7:35Sep 12, 2017 at 7:35
Sayali Sonawanesayali SonawaneSayali Sonawane
11.8k4 Huy hiệu vàng41 Huy hiệu bạc46 Huy hiệu đồng4 gold badges41 silver badges46 bronze badges
Một số khác biệt hơn là:
- Danh sách có thể là 2-D trong khi một tập hợp không thể.
- Khi danh sách được đặt hàng [nghĩa là có số sê -ri] danh sách tương đối chậm để thực thi trong khi các bộ nhanh.
- Liệt kê trong Python giống như mảng của Java hoặc c.
- In một bộ hầu như luôn luôn cung cấp chuỗi đầu ra khác nhau.
- Set sử dụng
7 để tìm một phần tử trong khi danh sách là một mảng. Do đó, việc tìm kiếm yếu tố trong# example set newset = {"one", "two", "three"}
8 nhanh hơn trong# example set newset = {"one", "two", "three"}
list
.
Đã trả lời ngày 31 tháng 8 năm 2016 lúc 3:56Aug 31, 2016 at 3:56
BlackbeardblackbeardBlackBeard
9.8007 Huy hiệu vàng49 Huy hiệu bạc61 Huy hiệu Đồng7 gold badges49 silver badges61 bronze badges
1
Trên thực tế, có bốn loại dữ liệu thu thập trong Python:
Danh sách là một bộ sưu tập được đặt hàng và thay đổi. Cho phép các thành viên trùng lặp. is a collection which is ordered and changeable. Allows duplicate members.
Tuple là một bộ sưu tập được đặt hàng và không thể thay đổi. Cho phép các thành viên trùng lặp. is a collection which is ordered and unchangeable. Allows duplicate members.
Bộ là một bộ sưu tập không được đặt hàng và không được giới thiệu. Không có thành viên trùng lặp. is a collection which is unordered and unindexed. No duplicate members.
Từ điển là một bộ sưu tập không được đặt hàng, có thể thay đổi và được lập chỉ mục. Không có thành viên trùng lặp. is a collection which is unordered, changeable and indexed. No duplicate members.
Bạn có thể truy cập một mục danh sách bằng cách tham khảo chỉ mục của nó. Tuy nhiên, trong các bộ, bạn cần lặp qua các mục đã đặt để truy cập nó.list item by referring to its index. however, in sets, you need to loop through the set items in order to access it.
Nguồn: //www.w3schools.com/python/python_sets.asp
Đã trả lời ngày 16 tháng 12 năm 2019 lúc 12:39Dec 16, 2019 at 12:39
Soft_CoderSoft_CoderSoft_Coder
1843 Huy hiệu bạc6 Huy hiệu đồng3 silver badges6 bronze badges
1
Sự khác biệt giữa các bộ và danh sách ở đây, chúng tôi sẽ thảo luận về sự khác biệt giữa các bộ và danh sách trong Python.
Danh sách 1] Danh sách lưu các phần tử theo thứ tự chúng được chèn. 2] Danh sách lập chỉ mục hỗ trợ. 3] Chúng ta có thể thay đổi giá trị của phần tử được lưu trữ trong danh sách. 4] Danh sách có thể lưu trữ các giá trị trùng lặp. 5] Danh sách được khai báo bằng dấu ngoặc vuông. 6] Ví dụ: A = [1, 2, 3, 4, 5, 1, 2, 3] 1] Lists save elements in the order they are inserted. 2] Lists support indexing. 3] We can change the value of the element stored in the lists. 4] Lists can store duplicate values. 5] Lists are declared using square brackets. 6] Example: A = [1, 2, 3, 4, 5, 1, 2, 3]
Bộ 1] Các bộ không lưu các phần tử theo thứ tự chúng được chèn. 2] Bộ không hỗ trợ lập chỉ mục. 3] Chúng tôi không thể thay đổi giá trị của phần tử được lưu trữ trong các tập hợp. 4] Bộ không thể lưu trữ các giá trị trùng lặp. 5] Các bộ được khai báo bằng dấu ngoặc xoăn. 6] Ví dụ: A = {1, 2, 3, 4, 5} 1] Sets do not save elements in the order they are inserted. 2] Sets do not support indexing. 3] We cannot change the value of the element stored in the sets. 4] Sets cannot store duplicate values. 5] Sets are declared using curly brackets. 6] Example: A = {1, 2, 3, 4, 5}
Tìm hiểu thêm về các bộ với ví dụ trên liên kết được đưa ra dưới đây //tutorialsimpact.com/python/sets-in-python
Đã trả lời ngày 25 tháng 10 năm 2019 lúc 16:00Oct 25, 2019 at 16:00