我试图编写一个代码,读取一个文件,然后返回文件中所有回文的列表。因此,我创建了一个函数来检查一个单词是否是回文,并尝试编写另一个函数,该函数读取文件,清除空白,拆分为单词,然后测试每个单词,看看它是否是回文体。如果它是回文,那么我会把它添加到列表中,最后打印出来。但是,我收到一个错误"AttributeError:‘tuple’对象没有属性‘append’"。如何将回文添加到此列表中?
def findPalindrome(filename):
#an empty list to put palindromes into
list3 = ()
#open the file
for line in open(filename):
#strip the lines of blank space
list1 = line.strip()
#Split the lines into words
list2 = line.split()
#call one of the words
for x in list2:
#test if it is a palindrome
if isPalindrome(x):
#add to list3
list3.append(x)
#return the list of palindromes
return list3
删除:
list3=() # because it creates an empty tuple
发件人:
list3=list() # create an empty list
同时替换:
list2 = line.split()
发件人:
list2 = list1.split() # because stripped line is in list1 not in line
这里的问题是list3
实际上不是一个列表。不要执行list3 = ()
,而是执行list3 = []
。
执行()
将创建一个元组,这是一种类似于列表的数据结构类型,但在首次创建后无法更改。这就是为什么您不能追加到它,因为这会改变元组。[]
创建了一个实际的列表,该列表是可变的,并且可以随着时间的推移而更改。