gpt4 book ai didi

PYTHON 'Unicode' 对象不支持项赋值

转载 作者:行者123 更新时间:2023-11-28 20:51:14 26 4
gpt4 key购买 nike

需要一些帮助来解决这个错误:

TypeError: 'unicode' 对象不支持项目分配

Ligne : menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]['dishTypeName'][str(d.dish. id)] = {}

def getDishOfTheWeek():
menuDic = Ddict(dict)
for menu in Menus.select().where(state = True):
menuDic[str(menu.id)]={}
menuDic[str(menu.id)]['menuId']=menu.id
menuDic[str(menu.id)]['menuName']=menu.name
menuDic[str(menu.id)]['menuCountry']=menu.country.name
menuDic[str(menu.id)]['menuDishes']={}
for d in DishMenuRels.select().where(menu = menu.id).join(Dishes).join(DishTypes).order_by('name')
menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)] = {}
menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]['dishTypeName'] = d.dish.dishType.name
menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]['dishTypeName'][str(d.dish.id)] = {}
menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]['dishTypeName'][str(d.dish.id)]['dishId'] = d.dish.id
menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]['dishTypeName'][str(d.dish.id)]['dishState'] = d.dish.name
menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]['dishTypeName'][str(d.dish.id)]['dishType'] = d.dish.price
menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]['dishTypeName'][str(d.dish.id)]['dishName'] = d.dish.country.name
print json.dumps(menuDic, indent=5, sort_keys=True)

谢谢

最佳答案

在这里,您将值 d.dish.dishType.name(看起来是一个 unicode 字符串)分配给字典键 'dishTypeName'

        menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]\
['dishTypeName'] = d.dish.dishType.name

然后,您对该值使用项目分配;以下与 d.dish.dishType.name[str(d.dish.id)] = {} 相同。

        menuDic[str(menu.id)]['menuDishes'][str(d.dish.dishType.name)]\
['dishTypeName'][str(d.dish.id)] = {}

不用说,这会导致错误,因为 d.dish.dishType.name 是一个不可变的字符串。

我可以补充一点,您最好将这些作业分解成更小的部分,也许只有几个功能?这些长赋值语句——我相信您已经注意到了——很难解释和调试。

关于PYTHON 'Unicode' 对象不支持项赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com