Python:使用正则表达式获取列表索引?

2024-03-29 10:16:35 发布

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

在Python中,如何使用模糊匹配(使用list.index)获得列表中某个项的位置?

例如,如何获取下表中所有*berry形式的水果的索引?

fruit_list = ['raspberry', 'apple', 'strawberry']
# Is it possible to do something like the following?
berry_fruit_at_positions = fruit_list.index('*berry') 

有人有什么想法吗?


Tags: toapple列表indexisitdoraspberry
3条回答

对于正则表达式:

import re
fruit_list = ['raspberry', 'apple', 'strawberry']
berry_idx = [i for i, item in enumerate(fruit_list) if re.search('berry$', item)]

如果没有正则表达式:

fruit_list = ['raspberry', 'apple', 'strawberry']
berry_idx = [i for i, item in enumerate(fruit_list) if item.endswith('berry')]

有一个功能:

import re
fruit_list = ['raspberry', 'apple', 'strawberry']
def grep(yourlist, yourstring):
    ide = [i for i, item in enumerate(yourlist) if re.search(yourstring, item)]
    return ide

grep(fruit_list, "berry$")

尝试:

fruit_list = ['raspberry', 'apple', 'strawberry']
[ i for i, word in enumerate(fruit_list) if word.endswith('berry') ]

返回:

[0, 2]

根据您的匹配需要,用不同的逻辑替换endswith

相关问题 更多 >