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.
- Tuyên bố
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ề>>> dct = {} >>> bool[dct] False >>> not dct True >>>
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ả.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[]]]
- 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.
- Hãy để chúng tôi nói rằng bạn sửa lỗi thụt vào câu lệnh
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.>>> dct = {} >>> bool[dct] False >>> not dct True >>>
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[]]]
5trả 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ố 8Nhữ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