如果我将字典定义为users = {}
,并且假设我在该字典中有一些数据,我怎么能搜索字典,如果我的搜索字符串匹配字典中的字符串,则什么也不做。< / p>
for socket.user in MyServer.users:
if ((MyServer.users.has_key(socket.user)) == false):
MyServer.users[user].send(socket.message)
所以这里搜索用户词典,发现它存在,所以它什么都不做。我知道我的代码是错的,但是我可以在第二行改变什么?
答案 0 :(得分:4)
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)
答案 1 :(得分:3)
我如何搜索字典,如果我的搜索字符串与字典中的字符串匹配,则不执行任何操作。
if socket.user in MyServer.users: # search if key is in dictionary
pass # do nothing
答案 2 :(得分: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)
答案 3 :(得分: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