Python 3.x 如何从列表中获取值-python

Python 3.x 如何从列表中获取值-python,python-3.x,Python 3.x,我有一个输出保存在一个变量中,如下所示,我的要求是,如果用户输入名称esx1,它应该将datastore-46打印为输出,请任何人帮助如何完成 {'browser':'vim.host.DatastoreBrowser:DatastoreBrowser-datastore-46','name':'esx1'},{'browser':'vim.host.DatastoreBrowser:DatastoreBrowser-datastore-24','name':'esx2'} val=input(

我有一个输出保存在一个变量中,如下所示,我的要求是,如果用户输入名称esx1,它应该将datastore-46打印为输出,请任何人帮助如何完成

{'browser':'vim.host.DatastoreBrowser:DatastoreBrowser-datastore-46','name':'esx1'},{'browser':'vim.host.DatastoreBrowser:DatastoreBrowser-datastore-24','name':'esx2'}

val=input(“输入名称”)
用户输入:esx1 输出应该是:datastore-46

ip = [{'browser': 'vim.host.DatastoreBrowser:datastoreBrowser-datastore-46', 'name': 'esx1'}, {'browser': 'vim.host.DatastoreBrowser:datastoreBrowser-datastore-24', 'name': 'esx2'}]
val=input("Enter a name")
result = ''.join(i['browser'] for i in ip if i['name']==val).split('-',1)[-1]

谢谢..但出现以下错误-结果=''。如果i['name']==val,则在ip中为i加入i['browser']。拆分('-',1)[-1]类型错误:序列项0:应为str实例,找到vim.host.DatastoreBrowser