1

として定義された辞書がありusers = {}、その辞書にいくつかのデータがあるとしましょう。辞書を検索し、検索文字列が辞書の文字列と一致する場合は何もしないでください。

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

ここではユーザー辞書を検索し、それが存在することを発見したので、何もしません。コードが間違っていることはわかっていますが、2 行目で何を変更できますか?

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 に答える