python 去掉列表中每个元素中的数字与数字后面的字符串
时间: 2024-03-23 15:37:39 浏览: 66
你可以使用正则表达式来实现。具体实现代码如下:
```python
import re
lst = ['abc123def', '456ghi789', 'jklmno']
# 定义要匹配的正则表达式
pattern = r'\d+\D*'
# 定义一个空列表用于存放处理后的结果
new_lst = []
# 遍历列表,对每个元素进行处理,并将结果加入到新列表中
for elem in lst:
new_elem = re.sub(pattern, '', elem)
new_lst.append(new_elem)
print(new_lst)
```
输出结果为:`['abc', 'ghi', 'jklmno']`
解释一下代码:
- 首先导入 `re` 模块。
- 定义一个列表 `lst`,其中包含了一些字符串。
- 定义要匹配的正则表达式 `pattern`,其中 `\d+` 表示匹配一个或多个数字,`\D*` 表示匹配任意数量的非数字字符。
- 定义一个空列表 `new_lst`,用于存放处理后的结果。
- 遍历列表 `lst`,对每个元素进行处理。使用 `re.sub()` 函数将匹配到的字符串替换为空字符串,并将处理后的结果加入到新列表 `new_lst` 中。
- 最后输出处理后的列表 `new_lst`。
相关问题
python 去除list中每个元素最后的数字和数字后面的字符
可以使用正则表达式来去除list中每个元素最后的数字和数字后面的字符。具体实现如下:
```python
import re
original_list = ['apple12', 'banana34', 'orange56']
new_list = []
for item in original_list:
new_item = re.sub('\d+.*$', '', item)
new_list.append(new_item)
print(new_list)
```
输出结果为:
```
['apple', 'banana', 'orange']
```
这里使用了 `re.sub()` 函数,第一个参数是正则表达式,`\d+.*$` 表示匹配数字和数字后面的任意字符,直到行末。第二个参数是替换成的字符串,这里为空字符串。最终得到的 `new_item` 就是去除了最后的数字和数字后面的字符的新元素。
python中有个列表,去掉列表中每个值中的数字与数字后面的字符串
你可以使用正则表达式来实现。具体实现代码如下:
```python
import re
lst = ['abc123def', '456ghi789', 'jklmno']
# 定义要匹配的正则表达式
pattern = r'\d+\D*'
# 遍历列表,对每个元素进行处理
for i in range(len(lst)):
lst[i] = re.sub(pattern, '', lst[i])
print(lst)
```
输出结果为:`['abc', 'ghi', 'jklmno']`
解释一下代码:
- 首先导入 `re` 模块。
- 定义一个列表 `lst`,其中包含了一些字符串。
- 定义要匹配的正则表达式 `pattern`,其中 `\d+` 表示匹配一个或多个数字,`\D*` 表示匹配任意数量的非数字字符。
- 遍历列表 `lst`,对每个元素进行处理。使用 `re.sub()` 函数将匹配到的字符串替换为空字符串。
- 最后输出处理后的列表 `lst`。
阅读全文