【发布时间】:2018-08-08 18:15:24
【问题描述】:
假设我们有一个列表 list_a = [a,b,C,.,/,!,d,E,f,]
我只想将字母表中的字母附加到新列表中。
所以新列表将是 list_b = [a,b,C,d,E,f]。 到目前为止,我已经尝试过这样做:
list_b = []
for elements in list_a:
try:
if elements == str(elements):
list_b.append(elements)
except ValueError: #Catches the Error when the element is not a letter
continue
但是,当我打印 list_b 它具有 list_a 的所有元素时,它并没有完成我预期的工作。 有什么想法吗?
PS:具体例子中的逗号也会带来Error。
【问题讨论】:
-
this answer 有帮助吗?
-
你能解释一下为什么你认为这段代码可以工作吗?我不明白你的逻辑。
-
简单。如果列表的元素是一个字母/字符,它将被附加到一个新列表中,否则 for 循环继续。你不明白什么?
-
我不明白为什么你会认为
str('.')不等于'.',或者什么会引发ValueError。 -
你是对的。str(3) 不等于 '3'。虽然这适用于数字,但它不适用于逗号、问号等。对不起,我是 Pytho 的新手..
标签: python if-statement