在试图优化一个从dicts列表中提取值的单行(关键字/til the next/之后的所有字符串)时,我陷入了以下问题:
想象一下以下格言列表:
my_list = [{'name':'val_1', 'url':'foo/bar/keyword/bla_1/etc'}.......{'name':'val_z', 'url':'foo/bar/keyword/bla_n/etc'}]
val_和bla_中的数字没有关联。
我正试图使用0<x<n+1。我设法得到了拆分字符串中那些元素的索引
[d['url'].split('/').index('keyword') + 1 for d in my_list]
但我需要的是访问这个值,而不仅仅是它的索引,所以我想了这样的事情:
[d['url'].split('/')[the_resulting_split_list.index('keyword') + 1] for d in my_list]
就我所知,这似乎是不可能做到的。有没有其他方法可以实现我的目标,即在列表理解中获得['bla_1','bla_2',…..,'bla_n']的输出,而不必运行两次split('/')操作?
现在我们不关心异常,假设输入数据总是正确的。