1

如果我有一个定义为 的字典users = {},并且假设我在该字典中有一些数据,我怎么能在字典中搜索,如果我的搜索字符串与字典中的字符串匹配,我什么也不做。

for socket.user in MyServer.users:
    if ((MyServer.users.has_key(socket.user)) == false):
        MyServer.users[user].send(socket.message)

所以这里是搜索用户字典,发现它存在,所以它应该什么都不做。我知道我的代码是错误的,但是我可以在第二行更改什么?

4

4 回答 4

5
users = {"A": 0, "B": 1, "C": 2}

key = "B"
value = "2"

if key in users: print("users contains key", key)
if value in users.values(): print("users contains value", value)
于 2012-05-07T20:46:04.587 回答
3

如果我的搜索字符串与我的字典中的字符串匹配,我怎么能搜索字典,并且什么也不做。

if socket.user in MyServer.users: # search if key is in dictionary
   pass # do nothing
于 2012-05-07T20:41:28.073 回答
1

在 python 中,您可以使用pass关键字基本上“什么都不做”。

for socket.user in MyServer.users:
    if MyServer.users.has_key(socket.user) == False:
        pass

然而,更正确的方法是以一种你想要它做的方式编写你的代码;不做你不需要做的事。

for socket.user in MyServer.users:
    if MyServer.users.has_key(socket.user) == True:
        MyServer.users[user].send(socket.message)
于 2012-05-07T20:40:56.360 回答
0

我错过了什么,或者这就是你要找的东西:

if socket.user in MyServer.users:
    # Send a message if it's a valid user
    MyServer.users[user].send(socket.message)
else:
    # Do nothing if it isn't
    pass
于 2012-05-07T20:41:33.113 回答