删除lis中的项目

2024-04-26 21:22:38 发布

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

a = ['pear', 'apple?orange']

或者

a = ['pear', 'apple!orange'] 

问号和引号可以是任何非字母或非数字字符(<,?,<,#)。你知道吗

如果要删除非字母字符并列出以下列表:

b = ['apple', 'orange']

我该怎么做?我使用a.remove还是'a.split?你知道吗

我用的是python3。你知道吗


Tags: apple列表字母数字字符remove引号python3
2条回答

如果希望支持Unicode的正则表达式匹配非字母字符:

non_letters = re.compile('[\\W\\d_]', flags = re.UNICODE)
non_letters.split('apple!orange')
non_letters.split('p\xEAche0poire')

改用^{}

import re

not_letters = re.compile(r'[^a-zA-Z]')

b = not_letters.split(a[1])

演示:

>>> import re
>>> not_letters = re.compile(r'[^a-zA-Z]')
>>> a = ['pear', 'apple?orange']
>>> not_letters.split(a[1])
['apple', 'orange']
>>> a = ['pear', 'apple!orange'] 
>>> not_letters.split(a[1])
['apple', 'orange']

相关问题 更多 >