访问Python列表类型
我写了一个包含str数据的代码访问Python列表类型,python,list,Python,List,我写了一个包含str数据的代码 def characters(self, content): self.contentText = content.split() # self.contentText is List here 我正在将self.contentText列表发送到另一个模块,如下所示: self.contentText = Formatter.formatter(self.contentText) 在这个方法中,我编写了以下代码: remArticles = remAr
def characters(self, content):
self.contentText = content.split()
# self.contentText is List here
我正在将self.contentText列表发送到另一个模块,如下所示:
self.contentText = Formatter.formatter(self.contentText)
在这个方法中,我编写了以下代码:
remArticles = remArticles = {' a ':'', ' the ':'', ' and ':'', ' an ':'', '& nbsp;':''}
for i in remArticles:
print type(contentText)
print "1"
contentText = contentText.replace(i, remArticles[i])
print type(contentText)
我得到一个错误:
contentText = contentText.replace(i, remArticles[i])
AttributeError: 'list' object has no attribute 'replace'
如果我将其更改为:
for i in remArticles:
contentText = contentText.pop(i)
我得到以下错误:
contentText = contentText.pop(i)#replace(i, remArticles[i])
AttributeError: 'str' object has no attribute 'pop'
contextText
实际上是一个列表,因此没有replace
方法。第二个错误是由于使用返回值contextText.pop(i)
(返回弹出值)覆盖contextText
,因此,在循环的第一次迭代之后,contextText
不再是一个列表,而是一个字符串。contextText
确实是一个列表,因此没有替换
方法。第二个错误是由于使用返回值contextText.pop(i)
(返回弹出值)覆盖contextText
,因此,在循环的第一次迭代之后,contextText
不再是一个列表,而是一个字符串。contextText
确实是一个列表,因此没有替换
方法。第二个错误是由于使用返回值contextText.pop(i)
(返回弹出值)覆盖contextText
,因此,在循环的第一次迭代之后,contextText
不再是一个列表,而是一个字符串。contextText
确实是一个列表,因此没有替换
方法。第二个错误是由于使用返回值contextText.pop(i)
(返回弹出值)覆盖contextText
,因此在循环的第一次迭代之后contextText
不再是一个列表,而是一个字符串。。。。什么是contentText
。。。我哪里也看不到…为什么要在字符串上调用pop?您正在覆盖循环中的contentText
。。。所以,它的类型正在改变。@SarveshKumarSingh我编辑了我的问题。@PeterWood我尝试了不同的东西。我已经编辑了我的问题,也许现在对你更有意义了?好吧。。。什么是contentText
。。。我哪里也看不到…为什么要在字符串上调用pop?您正在覆盖循环中的contentText
。。。所以,它的类型正在改变。@SarveshKumarSingh我编辑了我的问题。@PeterWood我尝试了不同的东西。我已经编辑了我的问题,也许现在对你更有意义了?好吧。。。什么是contentText
。。。我哪里也看不到…为什么要在字符串上调用pop?您正在覆盖循环中的contentText
。。。所以,它的类型正在改变。@SarveshKumarSingh我编辑了我的问题。@PeterWood我尝试了不同的东西。我已经编辑了我的问题,也许现在对你更有意义了?好吧。。。什么是contentText
。。。我哪里也看不到…为什么要在字符串上调用pop?您正在覆盖循环中的contentText
。。。所以,它的类型正在改变。@SarveshKumarSingh我编辑了我的问题。@PeterWood我尝试了不同的东西。我已经编辑了我的问题,也许现在对你更有意义?为了进一步澄清,首先当我sau contextText=contentText.pop(I)时,它仍然是一个列表。在下一次迭代中,循环之后,contentText有另一个新值。你是说在重写后它会变成字符串吗?我的理解正确吗?如果是,为什么会发生这种情况。它的列表值还是相同的,对吗?@Rakanid:The解释道:“删除列表中给定位置的项,然后返回它。如果没有指定索引,a.pop()将删除并返回列表中的最后一项。”注意,它不返回列表,而是返回删除的值。明白了。那么我该怎么做才能删除dict中的一个单词呢?即使是list.remove()也似乎不起作用help@Rakanid你应该考虑问一个单独的问题,我不确定我是否理解。如果您想从列表中删除dictremArticles
中不存在的所有元素,那么我建议您对列表进行理解:list=[s代表列表中的s,如果s不在remArticles]
。您搞定了。让我试试你的建议,进一步澄清一下,首先当我sau contextText=contentText.pop(I)时,它仍然是一个列表。在下一次迭代中,循环之后,contentText有另一个新值。你是说在重写后它会变成字符串吗?我的理解正确吗?如果是,为什么会发生这种情况。它的列表值还是相同的,对吗?@Rakanid:The解释道:“删除列表中给定位置的项,然后返回它。如果没有指定索引,a.pop()将删除并返回列表中的最后一项。”注意,它不返回列表,而是返回删除的值。明白了。那么我该怎么做才能删除dict中的一个单词呢?即使是list.remove()也似乎不起作用help@Rakanid你应该考虑问一个单独的问题,我不确定我是否理解。如果您想从列表中删除dictremArticles
中不存在的所有元素,那么我建议您对列表进行理解:list=[s代表列表中的s,如果s不在remArticles]
。您搞定了。让我试试你的建议,进一步澄清一下,首先当我sau contextText=contentText.pop(I)时,它仍然是一个列表。在下一次迭代中,循环之后,contentText有另一个新值。你是说在重写后它会变成字符串吗?我的理解正确吗?如果是,为什么会发生这种情况。它的列表值还是相同的,对吗?@Rakanid:The解释道:“删除列表中给定位置的项,然后返回它。如果没有指定索引,a.pop()将删除并返回列表中的最后一项。”注意,它不返回列表,而是返回删除的值。明白了。那么我该怎么做才能删除dict中的一个单词呢?即使是list.remove()也似乎不起作用help@Rakanid你应该考虑问一个单独的问题,我不确定我是否理解。如果你