插入以从列表中输入多个键,并在一行中使用for循环--dict.setdefault

Pyt*_*hon -1 python dictionary python-3.x

我试着这样做:

ip_dict = dict()
ip_list = ["10.0.0.1", "10.0.0.2"]
ip_dict.dict.setdefault(i for i in ip_list, 0)
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

  File "<stdin>", line 1
SyntaxError: Generator expression must be parenthesized if not sole argument
Run Code Online (Sandbox Code Playgroud)

我可以在一行中完成,或者我必须在两行中完成吗?

Ry-*_*Ry- 5

你可以用单线体将一个for循环压成一行:

ip_dict = dict()
ip_list = ["10.0.0.1", "10.0.0.2"]
for i in ip_list: ip_dict.setdefault(i, 0)
Run Code Online (Sandbox Code Playgroud)

但如果您真的想要完全符合该代码的效果,dict.fromkeys那就是所需要的:

ip_list = ["10.0.0.1", "10.0.0.2"]
ip_dict = dict.fromkeys(ip_list, 0)
Run Code Online (Sandbox Code Playgroud)