Python - 如何在字典中搜索特定字符串?

时间:2012-05-07 20:38:12

标签: python dictionary

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

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

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

4 个答案:

答案 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