類型錯誤:當我加入列表中的項目時,字符串索引必須是整數,而不是 str

編程_瘋狂

我正在閱讀列表項目,加入列表中的項目以對其執行一些操作

json_data=open("example2__test.json").read()
test_action = json.loads(json_data)
for input_action in test_action:
    print " ".join(input_action["logs"])

這工作正常。

現在我test_action在其他一些 for 循環中使用

for input_action in test_action:
    for record in data:
        res = {}
        item = re.sub('[^a-zA-Z0-9]', ' '," ".join(record["logs"]))
        input_action = re.sub('[^a-zA-Z0-9]',' '," ".join(input_action["logs"]))
        item = stopwords_removal(item)

我收到此錯誤

TypeError                                 Traceback (most recent call last)
<ipython-input-29-d42d327f3292> in <module>()
     11 #         temp = " ".join(input_action["logs"])
     12 
---> 13         input_action = re.sub('[^a-zA-Z0-9]',' '," ".join(input_action["logs"]))
     14         item = stopwords_removal(item)

TypeError: string indices must be integers

為什麼它會出現此錯誤,我無法理解。此處" ".join(record["logs"])也執行相同的操作,但不會出現此錯誤。

帕里托什·辛格
for input_action in test_action:
    for record in data:
        res = {}
        item = re.sub('[^a-zA-Z0-9]', ' '," ".join(record["logs"]))
        #problem in below line
        input_action = re.sub('[^a-zA-Z0-9]',' '," ".join(input_action["logs"]))
        item = stopwords_removal(item)

問題是您已重新分配 input_action 作為re.sub('[^a-zA-Z0-9]',' '," ".join(input_action["logs"])). 在“data”循環的第一遍中,input_action 可能是一個字典。但是在您的第二遍中,它絕對是一個字符串,因此input_action["logs"]會引發該錯誤。問題發生在內部循環的第二次迭代中,而不是第一次。

編輯:底線,您input_action在內循環的每次傳遞中都在改變變量,如果它運行的次數超過 1,它將失敗。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

類型錯誤:列表索引必須是整數或切片,而不是 str,Python

類型錯誤:列表索引必須是整數或切片,對於較大的數據不能是 str

“索引列表必須是整數,而不是 str” 使用 aiohttp 獲取 API 圖像時

刪除字典中的嵌套鍵時,列表索引必須是整數或切片,而不是 str

如何解決TypeError:列表索引必須是整數或切片,而不是python中的str

我無法遍歷我的列表,它只是說“列表索引必須是整數或切片,而不是 str”

在 Django 中,為什麼會出現錯誤“/字符串索引處的類型錯誤必須是整數”?

在列表中調用字典中的值時收到“類型錯誤:列表索引必須是整數或切片,而不是字典”

基本的python tic tac toe:“類型錯誤:列表索引必須是整數或切片,而不是列表”

字符串索引必須是整數,但格式是字典,類型是列表

類型錯誤:只能將 str(不是“float”)連接到 str

類型錯誤:使用 fit_generator() 進行數據擴充時,float() 參數必須是字符串或數字,而不是“BatchDataset”

類型錯誤:float() 參數必須是字符串或數字,而不是“列表”和 ValueError:使用序列設置數組元素

類型錯誤:只能在密碼生成器中將 str(不是“int”)連接到 str

類型錯誤:float() 參數必須是字符串或數字,而不是“datetime.timedelta”

在 python 中的列表中鍵入轉換錯誤。確保它作為整數 [] 而不是 str 列表返回的正確方法是什麼?

我的函數的哪一部分導致了類型錯誤:列表索引必須是整數或切片,而不是浮點數?

zeromq:TypeError:字符串索引必须是整数,而不是str

Scrapy:TypeError:字符串索引必须是整数,而不是 str?

字符串索引必须是整数,而不是str字典

在列表列表中,是否可以將特定項轉換為 int 數據類型、float 數據類型和 str 數據類型

類型錯誤:預期的 str、bytes 或 os.PathLike 對象,而不是 Django 中的 JpegImageFile(或 PngImageFile)

查找List [“ str”]而不是List [str] = [“ a”]的情况

返回&str而不是std :: borrow :: Cow <'_,str>

不是 str 的 Iterable[str] 的 Python 类型提示

python反转str的字典:str的列表

Python 程序中的奇怪錯誤:`str() 不能解釋為整數

DataOutputStream中的writeBytes(str)与write(str)

从 &str 数组中获取 Interator<Item=str>?