在while循环中,Python数据类型无法更改



data['text']是一个str,然后我用data['text'][i] = data['text'][i].split()将其转换为列表,但在第二段时间内,它仍然是一个str。更奇怪的是,如果我在第二个时间内用data['text'][i] = data['text'][i].split()再次将其转换成列表,它会在j == 2,中抛出错误

"列表"对象没有属性"拆分">

那么,为什么data['text'][i]类型的更改在第二段时间内无效?

i = 0
while i < len(data['text']):
data['text'][i] = data['text'][i].split()
j = 0
i += 1
while j < len(data['text'][i]):
if data['text'][i][j].startswith('@'):
data['text'][i].remove(data['text'][i][j])
j -= 1
data['text'][i][j].strip('#')
j += 1

AttributeError:"str"对象没有属性"remove">

正如Michael Butscher所说,您从i = 0开始,将data['text'][0]转换为list,但随后将i增加了1,并尝试在data['text'][1]上使用列表方法remove,这不能保证是列表。

最新更新