Hướng dẫn empty set vs empty dictionary python - bộ trống so với python từ điển trống

Đúng. Ký hiệu tương tự hoạt động cho các dict/set không trống hoạt động cho các ký hiệu trống.

Lưu ý sự khác biệt giữa các chữ không trống dictset:

{1: 'a', 2: 'b', 3: 'c'}-Một số cặp giá trị khóa bên trong tạo ra dict {'aaa', 'bbb', 'ccc'}-Một bộ giá trị bên trong tạo ra một set
{'aaa', 'bbb', 'ccc'} -- a tuple of values inside makes a set

So:

{} == Số không của các cặp giá trị khóa == Trống

>>> %timeit ({*()} & {*()}) | {*()}
214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> %timeit (set() & set()) | set()
252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
1 == empty tuple of values == empty set

Tuy nhiên, thực tế, bạn có thể làm điều đó, không có nghĩa là bạn nên. Trừ khi bạn có một số lý do mạnh mẽ, tốt hơn là nên xây dựng một bộ trống một cách rõ ràng, như:

a = set()

Performance:

Theo nghĩa đen nhanh hơn ~ 15% so với hàm tạo (CPYThon-3.8, 2019 PC, Intel (R) Core (TM) I7-8550U CPU @ 1.80GHz):literal is ~15% faster than the set-constructor (CPython-3.8, 2019 PC, Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz):

>>> %timeit ({*()} & {*()}) | {*()}
214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> %timeit (set() & set()) | set()
252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

... Và để hoàn thiện, đề xuất

>>> %timeit ({*()} & {*()}) | {*()}
214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> %timeit (set() & set()) | set()
252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
3 của Renato Garcia về biểu thức trên nhanh hơn khoảng 60%!

>>> ϕ = frozenset()

>>> %timeit (ϕ & ϕ) | ϕ
100 ns ± 0.51 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

NB: Như Ctrueden nhận thấy trong các bình luận,

>>> %timeit ({*()} & {*()}) | {*()}
214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> %timeit (set() & set()) | set()
252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
4 không phải là một bộ trống. Đó là một tập hợp với 1 phần tử: Tuple trống.: As ctrueden noticed in comments,
>>> %timeit ({*()} & {*()}) | {*()}
214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> %timeit (set() & set()) | set()
252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
4 is not an empty set. It's a set with 1 element: empty tuple.

Tạo một bộ trống là một chút khó khăn. Niềng răng xoăn trống {} sẽ tạo ra một từ điển trống trong Python. Để tạo một tập hợp mà không có bất kỳ phần tử nào, chúng tôi sử dụng hàm set () mà không có bất kỳ đối số nào.

Các bộ và từ điển có giống nhau không?

Một bộ cũng đề cập đến một cấu trúc dữ liệu thuộc loại không đồng nhất, nhưng nó lưu trữ các yếu tố khác nhau trong một hàng. Một từ điển cũng đề cập đến một cấu trúc dữ liệu thuộc loại không đồng nhất có chức năng lưu trữ các cặp giá trị khóa. Nó cho phép các yếu tố trùng lặp khác nhau. Nó cho phép các yếu tố trùng lặp khác nhau.

Bài đăng này sẽ thảo luận về cách kiểm tra một bộ trống trong Python.

if__name__=='__main__':__name__=='__main__':

    s=set()s =set()

    isEmpty=(len(s)==0)isEmpty= (len(s)==0)

    ifisEmpty:ifisEmpty:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is empty")

    else:else:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is not empty")

Tải xuống & nbsp; & nbsp; mã

3. Kiểm tra một tập hợp trống trong bối cảnh Boolean

Một cách rõ ràng khác để kiểm tra một bộ trống là so sánh tập hợp với bộ trống

>>> %timeit ({*()} & {*()}) | {*()}
214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> %timeit (set() & set()) | set()
252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
6 bằng toán tử
>>> %timeit ({*()} & {*()}) | {*()}
214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> %timeit (set() & set()) | set()
252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
9. Ví dụ sau đây cho thấy điều này:

if__name__=='__main__':__name__=='__main__':

    s=set()s =set()

    isEmpty=(s==set())isEmpty= (s==set())

    ifisEmpty:if isEmpty:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is empty")

    else:else:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is not empty")

Tải xuống & nbsp; & nbsp; mã

3. Kiểm tra một tập hợp trống trong bối cảnh Boolean

Cuối cùng, nếu bạn cần kiểm tra xem một tập hợp có trống trong bối cảnh Boolean hay không, bạn có thể sử dụng mã sau:

if__name__=='__main__':__name__=='__main__':

    s=set()s =set()

    iflen(s):if len(s):

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is not empty")

    else:else:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is empty")

Tải xuống & nbsp; & nbsp; mã

3. Kiểm tra một tập hợp trống trong bối cảnh Boolean
You can even skip the comparison. This works since an empty set is interpreted as

>>> ϕ = frozenset()

>>> %timeit (ϕ & ϕ) | ϕ
100 ns ± 0.51 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
2 in a boolean context in Python.

if__name__=='__main__':__name__=='__main__':

    s=set()s =set()

    ifs:ifs:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is not empty")

    else:else:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print("Set is empty")

Tải xuống & nbsp; & nbsp; mã

Đó là tất cả về việc kiểm tra một bộ trống trong Python.

Cảm ơn vì đã đọc.

Vui lòng sử dụng trình biên dịch trực tuyến của chúng tôi để đăng mã trong các nhận xét bằng C, C ++, Java, Python, JavaScript, C#, PHP và nhiều ngôn ngữ lập trình phổ biến hơn.

Như chúng tôi? Giới thiệu chúng tôi với bạn bè của bạn và giúp chúng tôi phát triển. Mã hóa hạnh phúc :) :)


{} Là tập trống hay python từ điển?

@Chris {} là một từ điển.{0} là một tập hợp.{0} - {0} là sự khác biệt giữa một tập hợp và chính nó, đó là tập trống.{} is a dictionary. {0} is a set. {0} - {0} is the difference between a set and itself, which is the empty set.

Sự khác biệt giữa từ điển và một bộ trong Python là gì?

Một tập hợp là một bộ sưu tập không theo thứ tự. Từ điển là một bộ sưu tập dữ liệu không có thứ tự lưu trữ dữ liệu theo các cặp giá trị khóa. A dictionary is an unordered collection of data that stores data in key-value pairs.

Một bộ trống trong Python là gì?

Tạo một bộ trống là một chút khó khăn.Niềng răng xoăn trống {} sẽ tạo ra một từ điển trống trong Python.Để tạo một tập hợp mà không có bất kỳ phần tử nào, chúng tôi sử dụng hàm set () mà không có bất kỳ đối số nào.Empty curly braces {} will make an empty dictionary in Python. To make a set without any elements, we use the set() function without any argument.

Các bộ và từ điển có giống nhau không?

Một bộ cũng đề cập đến một cấu trúc dữ liệu thuộc loại không đồng nhất, nhưng nó lưu trữ các yếu tố khác nhau trong một hàng.Một từ điển cũng đề cập đến một cấu trúc dữ liệu thuộc loại không đồng nhất có chức năng lưu trữ các cặp giá trị khóa.Nó cho phép các yếu tố trùng lặp khác nhau.Nó cho phép các yếu tố trùng lặp khác nhau.