代码之家  ›  专栏  ›  技术社区  ›  Mehdi

从[]运算符中引用Python中的列表

  •  0
  • Mehdi  · 技术社区  · 4 年前

    在试图优化一个从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('/')操作?

    现在我们不关心异常,假设输入数据总是正确的。

    0 回复  |  直到 4 年前