Python—而所有列表元素都会导致.isalpha问题为true

Python—而所有列表元素都会导致.isalpha问题为true,python,list,loops,while-loop,elements,Python,List,Loops,While Loop,Elements,我使用以下代码在元素.isalpha()变为False时立即返回列表: for element in initialList: if element.isalpha() == True: newList.append(element) return newList initialList是一个预定义的列表,包含用于测试的随机混合字母/数字,当然newList是element.isalpha()变为False 但是,我必须使用while循环以及break语句来实现这一

我使用以下代码在
元素.isalpha()
变为
False
时立即返回列表:

  for element in initialList:
    if element.isalpha() == True:
      newList.append(element)
  return newList
initialList
是一个预定义的列表,包含用于测试的随机混合字母/数字,当然
newList
element.isalpha()
变为
False


但是,我必须使用
while
循环以及
break
语句来实现这一点。我怎么能这样做呢?

您确实需要一个
break
语句,但是
while
语句在这里并没有真正的帮助。考虑:

def f(initialList):
    newList=[]
    for element in initialList:
        if not element.isalpha():
            break
        newList.append(element)
    return newList
例如:

>>> f(['a', 'b', '!', 'c'])
['a', 'b']
备选方案(如果必须在时使用
def g(初始列表):
新列表=[]
i=0
而i
您确实需要一个
break
语句,但是
while
语句在这里并没有真正的帮助。考虑:

def f(initialList):
    newList=[]
    for element in initialList:
        if not element.isalpha():
            break
        newList.append(element)
    return newList
例如:

>>> f(['a', 'b', '!', 'c'])
['a', 'b']
备选方案(如果必须在
时使用
def g(初始列表):
新列表=[]
i=0
而i
您确实需要一个
break
语句,但是
while
语句在这里并没有真正的帮助。考虑:

def f(initialList):
    newList=[]
    for element in initialList:
        if not element.isalpha():
            break
        newList.append(element)
    return newList
例如:

>>> f(['a', 'b', '!', 'c'])
['a', 'b']
备选方案(如果必须在
时使用
def g(初始列表):
新列表=[]
i=0
而i
您确实需要一个
break
语句,但是
while
语句在这里并没有真正的帮助。考虑:

def f(initialList):
    newList=[]
    for element in initialList:
        if not element.isalpha():
            break
        newList.append(element)
    return newList
例如:

>>> f(['a', 'b', '!', 'c'])
['a', 'b']
备选方案(如果必须在
时使用
def g(初始列表):
新列表=[]
i=0
而i
您可以使用函数
all
执行此操作,代码如下:

>>> li = ['a', 'b']
>>> all(e.isalpha() for e in li)
True
>>> li = ['a', 'b', '!']
>>> all(e.isalpha() for e in li)
False

可以使用函数
all
执行此操作,代码如下:

>>> li = ['a', 'b']
>>> all(e.isalpha() for e in li)
True
>>> li = ['a', 'b', '!']
>>> all(e.isalpha() for e in li)
False

可以使用函数
all
执行此操作,代码如下:

>>> li = ['a', 'b']
>>> all(e.isalpha() for e in li)
True
>>> li = ['a', 'b', '!']
>>> all(e.isalpha() for e in li)
False

可以使用函数
all
执行此操作,代码如下:

>>> li = ['a', 'b']
>>> all(e.isalpha() for e in li)
True
>>> li = ['a', 'b', '!']
>>> all(e.isalpha() for e in li)
False

不需要循环,只需使用——这正是它的用途
f=lambda initial\u list:filter(str.isalpha,initial\u list)

无需循环,只需使用——这正是它的用途
f=lambda initial\u list:filter(str.isalpha,initial\u list)

无需循环,只需使用——这正是它的用途
f=lambda initial\u list:filter(str.isalpha,initial\u list)

无需循环,只需使用——这正是它的用途
f=lambda initial\u list:filter(str.isalpha,initial\u list)

我收到的指令指定了一个while循环。我不知道为什么,但这可能是为了测试我,我真的不知道如何实现这个循环。这非常有效。对于while循环的第5行,您有什么建议来区分使用
not
==False
?我还没有学会正确使用
not
,因此我将其修改为
,如果initialList[I]。isalpha()==False:
`==False``从技术上讲并不错误,但它非常“非音速”。给我的指令指定了一个while循环。我不知道为什么,但这可能是为了测试我,我真的不知道如何实现这个循环。这非常有效。对于while循环的第5行,您有什么建议来区分使用
not
==False
?我还没有学会正确使用
not
,因此我将其修改为
,如果initialList[I]。isalpha()==False:
`==False``从技术上讲并不错误,但它非常“非音速”。给我的指令指定了一个while循环。我不知道为什么,但这可能是为了测试我,我真的不知道如何实现这个循环。这非常有效。对于while循环的第5行,您有什么建议来区分使用
not
==False
?我还没有学会正确使用
not
,因此我将其修改为
,如果initialList[I]。isalpha()==False:
`==False``从技术上讲并不错误,但它非常“非音速”。给我的指令指定了一个while循环。我不知道为什么,但这可能是为了测试我,我真的不知道如何实现这个循环。这非常有效。对于while循环的第5行,您有什么建议来区分使用
not
==False
?我还没有学会正确地使用
not
,因此我将其修改为
,如果initialList[I].isalpha()==False:
`==False``从技术上讲并不错误,但它非常“不和谐”