通过regexp获取列表中字典项的索引

2024-05-14 14:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个清单:

[
  {
    'avail': 'blabla',
    'rep_main': 'qweqwe',
    ....
  },
  {
    'avail': 'asdasd',
    'rep_main': 'zxczxc',
    ....
  },
  ...
]

我想通过regexp得到项目的索引 就像没有regexp的版本:

[list['rep_main'] for elem in list].index('qweqwe')

Tags: 项目in版本forindexmainlistregexp
1条回答
网友
1楼 · 发布于 2024-05-14 14:18:52

如果pattern是模式,rethe ^{} module

[i for i, elem in enumerate(mylist) if re.match(pattern, elem['rep_main'])]

您可以使用^{} instead of ^{}。你知道吗

^{}是一个方便的内置函数,它允许您使用索引而不会有那种for i in range(len(mylist))的丑陋。你知道吗

注意:上面的表达式的计算结果显然是一个列表。.index()方法返回第一个匹配索引。为此,请写下:

next(i for i, elem in enumerate(mylist) if re.match(pattern, elem['rep_main']))

相关问题 更多 >

    热门问题