Python 3.x 使用for循环Python打印字典的一部分

Python 3.x 使用for循环Python打印字典的一部分,python-3.x,dictionary,for-loop,format,Python 3.x,Dictionary,For Loop,Format,如何为客户机打印帐户名、APIkey、APIsecret?我想以预期输出的格式打印它 代码: clients={1:{'AccountName':'Acount1','APIKey':'sdhjsd','APIsecret':'sadjkaskldjasdadasdfvg'}, 2:{'AccountName':'Acount2','APIKey':'sdadc','APIsecret':'sdassvsdvdsffsaf'} 对于客户端\u clients.items()中的信息: 打印(“账

如何为
客户机打印
帐户名、APIkey、APIsecret
?我想以预期输出的格式打印它

代码:

clients={1:{'AccountName':'Acount1','APIKey':'sdhjsd','APIsecret':'sadjkaskldjasdadasdfvg'},
2:{'AccountName':'Acount2','APIKey':'sdadc','APIsecret':'sdassvsdvdsffsaf'}
对于客户端\u clients.items()中的信息:
打印(“账户名称:”、客户信息['Accountname']、“APIkey:”、客户信息['APIkey']、“APIsecret:”、客户信息['APIsecret'])
预期产出:

Accountname: Acount1 APIkey: sdhsdhjsd APIsecret: sadjkaskldjaskdadasdfvg
Accountname: Acount2 APIkey: sdasdasdadc APIsecret: sdasdasdassvsdvdsfdfsaf
实际产量:

TypeError: tuple indices must be integers or slices, not str

如果您对外部字典的键不感兴趣,请迭代
clients.values()
而不是
clients.items()

用于客户端\u clients.values()中的信息:
打印(“账户名称:”、客户信息['Accountname']、“APIkey:”、客户信息['APIkey']、“APIsecret:”、客户信息['APIsecret'])
产生

Accountname: Acount1 APIkey: sdhsdhjsd APIsecret: sadjkaskldjaskdadasdfvg
Accountname: Acount2 APIkey: sdasdasdadc APIsecret: sdasdasdassvsdvdsfdfsaf

另外,
print()
自动在其参数之间添加空格,这样您就不必在输出标签后添加额外的空格。

当使用
客户端.items()
和单个iterable时,每个iterable都是值的键元组,即
(键,值)
。如果愿意,您可以通过对clients.items()中的key,value执行
来解压它们,否则必须在for循环之后自己存储它们:

用于clients.items()中的client\u info\u元组:
客户端信息=客户端信息元组[1]
但我认为第一个选择是更整洁。因为你不需要索引(据我所知),你可以只做
clients.values()
,或者在索引变量前面放一个
,这样你的IDE就不会抱怨它了

如果您使用的是Python>=3.6,那么也可以使用f字符串,在我看来,f字符串使这类东西看起来更美观:

对于_索引,clients.items()中的client_信息:
印刷品(
f“Accountname:{client_info['Accountname']}”
f“APIKey:{client_info['APIKey']}”
f“APIsecret:{client_info['APIsecret']}”
)
输出:

Accountname: Acount1 APIKey: sdhsdhjsd APIsecret: sadjkaskldjaskdadasdfvg
Accountname: Acount2 APIKey: sdasdasdadc APIsecret: sdasdasdassvsdvdsfdfsaf