2017-10-02 8 views
0

私はソースコードを読んで疑問を呈しています。ここでの「設定」はdictです。dict.get( ''、None)がPythonでリストを返すのはなぜですか?

 server_port = config.get('server_port', None) 

なぜconfig.get( 'server_port'、None)がリストを返すのですか?

if server_port: 
     if type(server_port) == list: 
      for a_server_port in server_port: 
       config['port_password'][a_server_port] = config['password'] 
     else: 
      config['port_password'][str(server_port)] = config['password'] 

答えて

2

"server_port"は、dictに格納されているリストのキーであるためです。

「なし」は、存在しないキーと値のペアの場合のデフォルト値を指定するだけです。あなたはthing.get()

>>> thing.get("name") 
Bob 

dict.get()とキーの値を要求することができます

thing = { 
    "name": "Bob, 
    "height": 19, 
} 

辞書を持っている場合は

1

キーは、場合に返されるオプションのパラメータdefault=Noneではありませんしていること辞書のキーの中にあります。

>>> thing.get("someUnknownKey") 
None 

しかし

>>> thing.get("someUnknownKey", default="If key is not found, print this") 
If key is not found, print this 

のでは、それが見つからない場合は、Noneが返され、辞書内で可能なキーです。見つかった場合は、のvalueが返されます。これはlistであると予想されます。

関連する問題