簡體   English   中英

TypeError: 'str' object 不支持迭代中的項目分配

[英]TypeError: 'str' object does not support item assignment in iteration

我正在嘗試處理一些數據,但是當我嘗試遍歷字典時,我收到錯誤TypeError: 'str' object does not support item assignment

這是我的代碼:

from datetime import datetime
import pandas as pd

data_origin = {datetime.strptime('2020-10-23', '%Y-%m-%d'): [77, 77], datetime.strptime('2020-10-22', '%Y-%m-%d'): [85, 84]}
iot = pd.DataFrame.from_dict(data_origin, orient='index', columns=['shirt', 'shoes']) #index of interest
key_list = ['shirt', 'shoes']
rq = {'shirt': {'top': {'shirts black': 100, 'shirts white': 50}}, 'rising': {'coat': 100, 'trenchcoat': 65}} #related queries
rt = {}
iot2 = {}
data = dict(zip(['key','iot','rq','rt','iot2'],[key_list,iot,rq,rt,iot2]))

iterations = 1

print(type(data))

for i in range(iterations):
    if i==0:
        for t in data:
            t['topic_name']=''

我做錯了什么?

在不太了解您要實現的目標的情況下,我可以解釋該錯誤。

正如您在第 10 行定義的那樣, data是一個字典(請注意 dict())。 在 python 中遍歷字典時,您會遍歷其鍵。

因此,當您for t in data循環時,變量t僅包含一個鍵,其數據類型為str 在下一行,您嘗試將一個項目添加到t中,就好像它是一個dict一樣。 但是 str 對象不支持這一點,因此出現錯誤。

如果您的意圖是遍歷 dict data中的鍵和值,您可以將for key, value in data.items():然后使用value進行進一步處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM