Hướng dẫn python check if dictionary has no keys - python kiểm tra xem từ điển không có khóa nào

598

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang cố gắng kiểm tra xem một từ điển có trống nhưng nó không hoạt động đúng cách. Nó chỉ bỏ qua nó và hiển thị trực tuyến mà không có gì ngoại trừ hiển thị tin nhắn. Bất kỳ ý tưởng tại sao?ONLINE without anything except of display the message. Any ideas why ?

def isEmpty[self, dictionary]:
    for element in dictionary:
        if element:
            return True
        return False

def onMessage[self, socket, message]:
    if self.isEmpty[self.users] == False:
        socket.send["Nobody is online, please use REGISTER command" \
                 " in order to register into the server"]
    else:
        socket.send["ONLINE " + ' ' .join[self.users.keys[]]]    

Hỏi ngày 20 tháng 4 năm 2014 lúc 1:29Apr 20, 2014 at 1:29

6

Từ điển trống đánh giá đến

>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
1 trong Python:

>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>

Do đó, chức năng

>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
2 của bạn là không cần thiết. Tất cả những gì bạn cần làm là:

def onMessage[self, socket, message]:
    if not self.users:
        socket.send["Nobody is online, please use REGISTER command" \
                    " in order to register into the server"]
    else:
        socket.send["ONLINE " + ' ' .join[self.users.keys[]]]

Đã trả lời ngày 20 tháng 4 năm 2014 lúc 1:31Apr 20, 2014 at 1:31

6

Dưới đây là ba cách bạn có thể kiểm tra xem Dict có trống không. Tôi chỉ thích sử dụng cách đầu tiên mặc dù. Hai cách khác là cách quá lâu dài.

test_dict = {}

if not test_dict:
    print "Dict is Empty"


if not bool[test_dict]:
    print "Dict is Empty"


if len[test_dict] == 0:
    print "Dict is Empty"

Đã trả lời ngày 20 tháng 4 năm 2014 lúc 4:29Apr 20, 2014 at 4:29

Roupleodoubleodoubleo

4.1794 Huy hiệu vàng15 Huy hiệu bạc19 Huy hiệu đồng4 gold badges15 silver badges19 bronze badges

4

dict = {}
print[len[dict.keys[]]]

Nếu chiều dài bằng không có nghĩa là dict là trống

Bram Vanroy

25.7K23 Huy hiệu vàng125 Huy hiệu bạc225 Huy hiệu Đồng23 gold badges125 silver badges225 bronze badges

Đã trả lời ngày 16 tháng 12 năm 2016 lúc 10:00Dec 16, 2016 at 10:00

3

Những cách đơn giản để kiểm tra một dict trống bên dưới:

        a= {}

    1. if a == {}:
           print ['empty dict']
    2. if not a:
           print ['empty dict']

Mặc dù Phương pháp số 1 nghiêm ngặt hơn khi A = Không có, Phương pháp 1 sẽ cung cấp kết quả chính xác nhưng Phương pháp 2 sẽ cho kết quả không chính xác.

Đã trả lời ngày 11 tháng 12 năm 2018 lúc 10:11Dec 11, 2018 at 10:11

Một từ điển có thể được tự động đúc để Boolean đánh giá thành

>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
1 cho từ điển trống và
>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
4 cho từ điển không trống.

if myDictionary: non_empty_clause[]
else: empty_clause[]

Nếu điều này có vẻ quá thành ngữ, bạn cũng có thể kiểm tra

>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
5 cho 0 hoặc
>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
6 cho một tập trống hoặc chỉ đơn giản là kiểm tra cho sự bình đẳng với
>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
7.

Hàm isempty không chỉ không cần thiết mà cả việc thực hiện của bạn có nhiều vấn đề mà tôi có thể phát hiện ra prima-facie.

  1. Tuyên bố
    >>> dct = {}
    >>> bool[dct]
    False
    >>> not dct
    True
    >>>
    
    8 được thụt vào một cấp quá sâu. Nó nên nằm ngoài vòng lặp và ở cùng cấp độ với câu lệnh
    >>> dct = {}
    >>> bool[dct]
    False
    >>> not dct
    True
    >>>
    
    9. Do đó, mã của bạn sẽ chỉ xử lý một, được chọn một cách tùy ý, nếu một khóa tồn tại. Nếu một khóa không tồn tại, hàm sẽ trả về
    def onMessage[self, socket, message]:
        if not self.users:
            socket.send["Nobody is online, please use REGISTER command" \
                        " in order to register into the server"]
        else:
            socket.send["ONLINE " + ' ' .join[self.users.keys[]]]
    
    0, sẽ được sử dụng để boolean sai. Ouch! Tất cả các từ điển trống sẽ được phân loại là những người giả mạo giả.
  2. Nếu từ điển không trống, thì mã sẽ chỉ xử lý một khóa và trả lại giá trị của nó để boolean. Bạn thậm chí không thể cho rằng cùng một khóa được đánh giá mỗi khi bạn gọi nó. Vì vậy, sẽ có những tích cực sai.
  3. Hãy để chúng tôi nói rằng bạn sửa lỗi thụt vào câu lệnh
    >>> dct = {}
    >>> bool[dct]
    False
    >>> not dct
    True
    >>>
    
    8 và mang nó ra ngoài vòng
    >>> dct = {}
    >>> bool[dct]
    False
    >>> not dct
    True
    >>>
    
    9. Sau đó, những gì bạn nhận được là boolean hoặc của tất cả các phím, hoặc
    >>> dct = {}
    >>> bool[dct]
    False
    >>> not dct
    True
    >>>
    
    1 nếu từ điển trống. Tuy nhiên, bạn sẽ có những tích cực sai lầm và tiêu cực sai. Thực hiện điều chỉnh và kiểm tra chống lại từ điển sau đây để biết bằng chứng.OR of all the keys, or
    >>> dct = {}
    >>> bool[dct]
    False
    >>> not dct
    True
    >>>
    
    1 if the dictionary empty. Still you will have false positives and false negatives. Do the correction and test against the following dictionary for an evidence.

def onMessage[self, socket, message]:
    if not self.users:
        socket.send["Nobody is online, please use REGISTER command" \
                    " in order to register into the server"]
    else:
        socket.send["ONLINE " + ' ' .join[self.users.keys[]]]
4

Đã trả lời ngày 14 tháng 1 năm 2019 lúc 10:25Jan 14, 2019 at 10:25

DelladellaDella

1.0952 Huy hiệu vàng14 Huy hiệu bạc29 Huy hiệu đồng2 gold badges14 silver badges29 bronze badges

Một chiều:

 len[given_dic_obj] 

Trả về 0 nếu không có phần tử khác trả về kích thước của từ điển.

Cách thứ hai:

def onMessage[self, socket, message]:
    if not self.users:
        socket.send["Nobody is online, please use REGISTER command" \
                    " in order to register into the server"]
    else:
        socket.send["ONLINE " + ' ' .join[self.users.keys[]]]
5

trả về sai nếu từ điển trống khác trả về đúng

Andy

8401 Huy hiệu vàng8 Huy hiệu bạc21 Huy hiệu đồng1 gold badge8 silver badges21 bronze badges

Đã trả lời ngày 19 tháng 12 năm 2021 lúc 23:24Dec 19, 2021 at 23:24

ARPAN Sainiarpan SainiArpan Saini

3.72135 huy hiệu bạc44 Huy hiệu đồng35 silver badges44 bronze badges

3

Bạn cũng có thể sử dụng get []. Ban đầu tôi tin rằng nó chỉ kiểm tra xem khóa tồn tại.

________số 8

Những gì tôi thích với GET là nó không kích hoạt một ngoại lệ, vì vậy nó giúp dễ dàng đi qua các cấu trúc lớn.

Đã trả lời ngày 16 tháng 11 năm 2017 lúc 12:49Nov 16, 2017 at 12:49

MortenbmortenbMortenB

2.12623 huy hiệu bạc32 huy hiệu đồng23 silver badges32 bronze badges

test_dict = {}
if not test_dict.keys[]:
    print "Dict is Empty"

Đã trả lời ngày 3 tháng 9 năm 2020 lúc 13:33Sep 3, 2020 at 13:33

NottootechynottootochyNotTooTechy

3844 Huy hiệu bạc8 Huy hiệu đồng4 silver badges8 bronze badges

Sử dụng bất kỳ'

>>> dct = {}
>>> bool[dct]
False
>>> not dct
True
>>>
0

Đã trả lời ngày 13 tháng 5 năm 2016 lúc 12:39May 13, 2016 at 12:39

2

Làm thế nào để bạn kiểm tra xem khóa không tồn tại trong python từ điển?

Kiểm tra xem khóa có tồn tại bằng cách sử dụng phương thức Inbuilt Get [] phương thức trả về danh sách các khóa có sẵn trong từ điển không. Với các phím phương thức sẵn [], sử dụng câu lệnh IF để kiểm tra xem khóa có có trong từ điển hay không. Nếu khóa có mặt, nó sẽ in ra hiện tại, nếu không, nó sẽ in không phải hiện tại.use the if statement to check if the key is present in the dictionary or not. If the key is present it will print “Present” Otherwise it will print “Not Present”.

Làm thế nào để bạn kiểm tra xem một từ điển có trống trong Python không?

Kiểm tra xem từ điển Python có trống bằng cách kiểm tra độ dài của nó nếu LEN [trống_dict] == 0: in ['Từ điển này trống!']if len[empty_dict] == 0: print['This dictionary is empty! ']

Làm thế nào để bạn kiểm tra xem một từ điển có chứa một khóa?

Bạn có thể kiểm tra xem một khóa có tồn tại trong từ điển bằng phương thức khóa [] và trong toán tử không.Cái này là cái gì?Phương thức khóa [] sẽ trả về một danh sách các khóa có sẵn trong từ điển và nếu, trong câu lệnh sẽ kiểm tra xem khóa được truyền có sẵn trong danh sách không.Nếu chìa khóa tồn tại, nó trả về true khác, nó sẽ trả về sai.using the keys[] method and IN operator. What is this? The keys[] method will return a list of keys available in the dictionary and IF , IN statement will check if the passed key is available in the list. If the key exists, it returns True else, it returns False .

Làm thế nào để bạn kiểm tra xem một giá trị không nằm trong một python từ điển?

Kiểm tra xem giá trị có tồn tại trong từ điển không: trong toán tử, giá trị [] để kiểm tra xem giá trị có tồn tại trong từ điển không, tức là, nếu từ điển có/chứa một giá trị, hãy sử dụng toán tử trong toán tử và phương thức giá trị [].Sử dụng không vào để kiểm tra xem giá trị không tồn tại trong từ điển.Use not in to check if a value does not exist in a dictionary.

Bài Viết Liên Quan

Chủ Đề