在包含特定ch的列表中查找字符串的索引

2024-10-01 04:45:08 发布

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

我对Python很陌生,但是我有一个Google还没有为我解决的问题。我有一个字符串列表。我想生成包含特定字符(“>;”)的字符串的指示符列表。在

示例: f_list=['>;EntryA',EntryB,'>;EntryC',EntryD]

我想生成: 索引表=[0,2]

这段代码可以工作,但我必须为Value输入字符串的确切名称(即EntryA)。如果我输入“>;”(如下面的代码示例所示),它将不返回index_list中的值。在

    f_list = ['>EntryA', 'EntryB', '>EntryC', 'EntryD']
    index_list = []

    def all_indices(v, qlist):
        idx = -1
        while True:
            try:
                idx = qlist.find(v, idx+1)
                index_list.append(idx)
            except ValueError:
                break
        return index_list

    all_indices('>', f_list)
    print(index_list)

Tags: 字符串代码gt示例列表indexalllist
3条回答

如果您使用索引,^{}是您的函数:

>>> f_list = ['>EntryA', 'EntryB', '>EntryC', 'EntryD']
>>> for i, j in enumerate(f_list):
...     if '>' in j:
...         print i
... 
0
2

在函数中:

^{pr2}$
>>> [i for i, s in enumerate(f_list) if '>' in s]
[0, 2]

可以使用筛选器查找字符串:

>>> f_list = ['>EntryA', 'EntryB', '>EntryC', 'EntryD']
>>> filter(lambda s: '>' in s, f_list)
['>EntryA', '>EntryC']

或者使用列表理解来查找索引:

^{pr2}$

或者,您可以通过以下任一方式找到两者:

^{3}$

相关问题 更多 >