这是我的代码
lis_of_sentences = ['i have a wordÂ', 'my name is azirÂ', 'esta azirÂ']
Filtered_utterances = []
Filtered_utterances = [''.join(c for c in s if ord(c) not in range((range[65:91]) & (range[97:123]))) for s in lis_of_sentences]
我收到以下错误
Filtered_utterances = [''.join(如果ord(c)不在lis_of_sentences中的s的range((range [65:91])和(range [97:123])))中,则c为s中的c in]TypeError:“类型”对象不可下标
您说过您想删除不在65-90和97-122范围内的字符,但是采用这种方法,您将找到想要忽略的字符列表。
也不能以您使用的方式使用范围方法。请阅读问题注释中建议的范围方法文档。
您可能想要执行以下操作:
lis_of_sentences = ['i have a wordÂ', 'my name is azirÂ', 'esta azirÂ']
ascii_list = range(65, 92)+ range(97,124)
Filtered_utterances = [''.join(c for c in s if ord(c) in ascii_list) for s in lis_of_sentences]
尝试使用其他set
或list
首先存储无效字符
invalid_range = set(range(65,91)) | set(range(97,123))
Filtered_utterances = [''.join(c for c in s if ord(c) not in invalid_range) for s in lis_of_sentences]
#[' Â', ' Â', ' Â']