Python 字符串列表 使用子串匹配确定索引
时间: 2024-10-09 20:08:03 浏览: 34
Python基础——字符串
在Python中,如果你有一个字符串列表并且需要使用子串(substring)匹配来确定某个子串在每个字符串中的位置,你可以使用`str.find()`、`str.index()` 或者列表推导式结合这两个函数一起完成。下面是基本步骤:
1. **`find()` 函数**:它返回子串在字符串中首次出现的位置,如果没有找到则返回-1。
```python
string_list = ['apple', 'banana', 'cherry']
sub_string = 'an'
indices = [i for i, s in enumerate(string_list) if s.find(sub_string) != -1]
```
2. **`index()` 函数**:也用于查找子串,如果找不到会抛出异常,所以通常用于已知存在的情况。
```python
indices = [s.index(sub_string) for s in string_list if sub_string in s]
```
注意:`index()` 方法会在整个字符串中寻找,所以在列表推导式中,我们还需要判断子串是否存在于字符串中。
3. **列表推导式**:这是一种简洁的方式,可以直接在一行内完成匹配和索引的查找。
```python
indices = [i for i, s in enumerate(string_list) if sub_string in s and s.find(sub_string) != -1]
```
以上代码将返回一个包含子串在列表中相应位置索引的列表。如果没有找到匹配项,则结果列表将是空的。
阅读全文