我正在尝试检查字典是否为空,但是行为不正常。它只是跳过它并显示“ 联机”,除了显示消息外没有任何其他内容。有什么主意吗?
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()))
你
—
Hyperboreus 2014年
isEmpty
实际上返回True
如果从字典中产生的第一个关键是truey并返回False
,否则。如果字典为空,则返回None
不为的字典== False
。
您的if语句向后。
—
疯狂物理学家
要小心使用类似假的键stackoverflow.com/a/17347421/1379762
—
Wajih,2016年
self.users
为非空,只需执行if self.users
。