Python 编写一个循环,循环遍历项目列表,只输出字符串中包含字母的项目

Python 编写一个循环,循环遍历项目列表,只输出字符串中包含字母的项目,python,list,for-loop,Python,List,For Loop,这是我用python编写的代码: names = ['John', ' ', 'Amanda', 5] valid = [] for correct_names in names: if correct_names.isalpha(): valid.append(correct_names) print(valid) 但当我初始化它时,我得到: AttributeError:'int'对象没有属性'isalpha',我计划输出 [“约翰”,“阿曼达”] 不使用正则表达式

这是我用python编写的代码:

names = ['John', ' ', 'Amanda', 5]
valid = []
for correct_names in names:
    if correct_names.isalpha():
        valid.append(correct_names)
print(valid)
但当我初始化它时,我得到: AttributeError:'int'对象没有属性'isalpha',我计划输出 [“约翰”,“阿曼达”]

不使用正则表达式,因为我正在努力再次学习python


非常感谢您的任何建议。谢谢。

要求有两个限制:1是字符串,2是字母。对第一个使用isinstance,对第二个使用alpha搜索字符串

names = ['John', ' ', 'Amanda', 5]
valid = []
for correct_names in names:
    if isinstance(correct_names, str):
        for c in correct_names:
            if c.isalpha():
                valid.append(correct_names)
                break
print(valid)

如果strcorrect_names.isalpha:^。。。因为列表中并非所有的项目都是字符串。问题:有字母,这是指Foo 2在列表中有字母还是在列表中有其他东西。@AshWingeted'Sa谢谢Ashwing,我似乎错过了这一部分,因为我太专注于名称了。添加strcorrect_名称来捕获所有内容是有意义的。谢谢。我想知道你为什么再加一个第二个for循环来检查索引是否包含字母?这也行吗?names=['John','','Amanda',5]valid=[]对于名称中的正确名称:if-isinstancecorrect\u names,str:if-correct\u names.isalpha:valid.appendcorrect\u names printvalid,因此在if-isinstance语句下,如果为true,我为isalpha放置了另一个if语句。@Lendi-我要求在上面进行澄清,但是foo2.isalpha是错误的,因为它包含非字母字符。如果要求比较宽松,有字母,那么您必须扫描字符串,直到找到至少一个字母。啊,是的。如果Foo 2是有效名称,它将生成false.: