我的代码中不断出现相同的相关错误,只是无法弄清楚问题出在哪里。尝试了网上能找到的所有方法,但似乎不起作用。这是一段代码。 (我知道它可能没有优化,但这对我来说不是主要问题) 我也在Python 3.9.1
def init(): # créer la liste de données
liste = []
liste_lettre = []
for x in range(len(texte)-1):
lettre_init = []
liste_poss = []
if texte[x][0] not in liste_lettre:
liste_lettre.append(texte[x][0])
lettre_init = texte[x][0]
for i in range(len(texte)-1):
for j in range(len(texte[i])):
if texte[i][j] == lettre_init:
if j == len(texte[i]):
liste_poss += (" ")
else:
liste_poss.append(texte[i][j+1])
print(hasattr(liste_poss, "append"))
liste_poss = lettre_init, liste_poss
liste.append(liste_poss)
return liste
好的,解释一下我的代码是关于什么的:
我正在尝试创建一个函数,将给定文本 (
texte
) 中的字母的连续迭代存储到数组 (liste
) 中。
texte
是单词数组
该函数会检查
texte
的每个单词的每个字母(如果该字母已被验证)。
如果不是,每次它在 lettre_init
中的单词中看到给定的字母(存储在 texte
中),如果这是该单词的最后一个字母,它就会在列表中添加一个空格(“”) liste_poss
;如果不是单词的最后一个字母,它将添加到单词中下一个字母的liste_poss
。
完全验证texte
后,由已验证的字母(lettre_init
)和所有后续字母(liste_poss
)组成的列表将添加到数组liste
中。
最后返回liste
。
我一直有错误
AttributeError: 'tuple' object has no attribute 'append'
对于线路liste_poss.append(texte[i][j+1])
我用
texte
验证了 liste_poss
和 hasattr(liste_poss, "append")
,它返回了 True
我尝试了liste_poss += (texte[i][j+1])
,但错误是TypeError: can only concatenate tuple (not "str") to tuple
。
这个问题似乎与一个对象是一个元组有关,但我只是找不到问题是什么? 如果您有任何想法请帮助我,我迷路了。