Python中如何检查字符串列表是否包含特定字母或字符?
嘿,咱们一步步来解决你的问题:
先揪出两个核心问题
- 列表语法错误:你写的
['Mangos*','apples,'REd']里,'apples,'少了一个闭合的单引号,这会直接触发语法报错,得先修正这个小疏漏。 - 字符串判断方法错误:Python里的字符串对象根本没有
contains()方法,这就是你遇到AttributeError的原因,得换成Python原生支持的判断方式。
修正后的完整代码
先把列表的语法问题解决,再用Python标准的in操作符来判断字符是否存在:
lst = ['Mangos*','apples','REd'] for item in lst: if 'M' in item or '*' in item: print(item)
运行这段代码会输出符合条件的结果:
Mangos*
额外实用技巧
如果你的需求是忽略大小写匹配(比如要同时识别小写m和大写M),可以把字符串转成统一大小写后再判断:
lst = ['Mangos*','apples','REd', 'mango'] for item in lst: # 转成小写后判断,同时兼容大小写场景 if 'm' in item.lower() or '*' in item: print(item)
这段代码会输出:
Mangos* mango
另一种可选判断方式
如果你想试试其他写法,也可以用str.find()方法——这个方法找到目标子串会返回它的起始索引,找不到则返回-1,代码可以写成:
lst = ['Mangos*','apples','REd'] for item in lst: if item.find('M') != -1 or item.find('*') != -1: print(item)
不过这种写法不如in直观,一般还是优先用in操作符。
内容的提问来源于stack exchange,提问作者Rapooram
相关产品推荐
相关产品推荐

