我在python中有一个列表,其中包含许多不同的字符,例如空格、|、>;、数字和小写字母,但我只想保留一些大写字母(a、B、C、D)。如果我试着这样做,它就不管用了,我几乎得到了想要的列表,但不仅仅是A、B、C、D。在
with open("text.mfa") as f:
content = f.read()
mylist = list(content)
letters = ['A','B','C','D']
i = 0
while i < (len(mylist)-1)
if mylist[i] != letters[0] or letters[1] or letters[2] or letters[3]
mylist.remove(mylist[i])
i+=1
让我们看看你的if语句:
如果放在括号内,python将其处理为:
^{pr2}$每个字符的求值结果都为True,这意味着因为字母[1]等的求值结果为True,所以您始终将整个表达式求值为True。在
更具python风格的方法可能是使用列表理解和
in
运算符:尝试使用过滤器。在
相关问题 更多 >
编程相关推荐