728x90
반응형
질문 : Python : '사전'이 비어 있는지 확인하는 것이 작동하지 않는 것 같습니다.
사전이 비어 있는지 확인하려고하는데 제대로 작동하지 않습니다. 그냥 건너 뛰고 메시지를 표시하는 것 외에는 아무것도없이 온라인으로 표시합니다. 이유는 무엇입니까?
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()))
답변
빈 사전은 Python False
로 평가됩니다.
>>> dct = {}
>>> bool(dct)
False
>>> not dct
True
>>>
따라서 isEmpty
함수가 필요하지 않습니다. 당신이해야 할 일은 :
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()))
출처 : https://stackoverflow.com/questions/23177439/python-checking-if-a-dictionary-is-empty-doesnt-seem-to-work
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
#! (shebang) Python 스크립트 형식 (0) | 2021.10.12 |
---|---|
Python에서 "pip"로 psycopg2를 설치하는 방법 (0) | 2021.10.12 |
파이썬 함수 정의에서 '->' 의 의미 (0) | 2021.10.08 |
파이썬에서 정수를 문자열로 변환 (0) | 2021.10.08 |
Pandas에서 열 이름 바꾸기 (0) | 2021.10.08 |