【发布时间】:2018-10-13 22:33:34
【问题描述】:
我的数据以 json 格式存储。通过使用 json:load() 我正在读取数据。
我要做的是基于传递的参数,我试图从列表中提取 Key:Value 的特定部分并将它们存储到一个新列表中以供以后处理。
代码
selected_env='mydev2'
server_list=[{'mydev': ['192.168.56.102', '192.168.56.102', '192.168.56.102']}, {'mydev2': ['192.168.56.102', '192.168.56.102', '192.168.56.102']}]
for item in server_list :
host_list=[item for item in server_list[selected_env] if selected_env in server_list]
print(host_list)
我收到错误
TypeError: list indices must be integers or slices, not str
注意:我已经实现了如下一种提取方式
for item in server_list:
for element in item :
if element == selected_env :
host_list=item[selected_env]
尽管它可以工作,但我还是想优化它,并阅读了一些关于列表提取的文章,并遇到了上述错误。
任何帮助,不胜感激。
【问题讨论】:
标签: python python-3.x list