Python TypeError只能转换str

Python TypeError只能转换str,python,list,typeerror,Python,List,Typeerror,股票={1:{'Item Name':“坎贝尔蘑菇奶油”, ‘说明’:‘罐头食品’, “价格”:2.30, “股票”:32, '到期日期':'27/05/25'} 某物=[] 对于库存中的i: something.append(Stock[i]['Item Name']) something.append(Stock[i]['Stock']) 打印(某物) x=0 当一些事情发生时!=“” 输出: {“坎贝尔蘑菇奶油”:32,“奥列克谢特”:23,“可口可乐”: 25,“干茶索巴”:25,“大白

股票={1:{'Item Name':“坎贝尔蘑菇奶油”, ‘说明’:‘罐头食品’, “价格”:2.30, “股票”:32, '到期日期':'27/05/25'}

某物=[] 对于库存中的i: something.append(Stock[i]['Item Name']) something.append(Stock[i]['Stock']) 打印(某物)

x=0 当一些事情发生时!=“”

输出:

{“坎贝尔蘑菇奶油”:32,“奥列克谢特”:23,“可口可乐”: 25,“干茶索巴”:25,“大白菜”:12}


首先,使用
list
作为变量名不是一个好主意,因为它在python中是一个保留关键字,所以我将变量
list=[]
的名称改为
something=[]
其次声明
x=0
然后在
for循环中
为列表中的x编写
的地方:
变量
x
的类型正在转换为字符串,这就是导致该错误的原因,因此我建议您使用另一个变量名,我编辑了您的代码并将其更改为名称
something
,如上所述,我快速找到了“全部替换”,这就是为什么变量名
newlist
也更改为
newsomething
,在解决了问题中提到的错误后,您的代码需要进一步修改,但由于您没有简要说明代码的用途,现在我无法帮助您完成这项工作。但对于您当前的问题,下面是我修改的代码

Stock = {1: {'Item Name': "Campbell's Cream of Mushroom",
             'Description': 'Canned Food',
             'Price': 2.30,
             'Stock': 32,
             'Expiry Date': '27/05/25'},
         2: {'Item Name': "Orecchiette",
             'Description': 'Noodles & Pasta',
             'Price': 3.45,
             'Stock': 23,
             'Expiry Date': '27/05/22'},
         3: {'Item Name': "Coca Cola",
             'Description': 'Drinks',
             'Price': 1.50,
             'Stock': 25,
             'Expiry Date': '27/05/21'},
         4: {'Item Name': "Dried Cha Soba",
             'Description': 'Noodles & Pasta',
             'Price': 3.75,
             'Stock': 25,
             'Expiry Date': '27/05/22'},
         5: {'Item Name': "Chinese Cabbage",
             'Description': "Vegetable",
             'Price': 1.50,
             'Stock': 12,
             'Expiry Date': '8/7/2020'}
         }

something = []
for i in Stock:
    something.append(Stock[i]['Item Name'])
    something.append(Stock[i]['Stock'])
print(something)

x = 0
while something != "":
    for i in something:
        x += 1
        newsomething = something[x], something[x+1]
print(newsomething)


嗨,你能解释一下你期望的产出吗。有许多错误,如
x
无法递增并用作索引。是不是
{“坎贝尔蘑菇奶油”:32,'奥利切特':23,'可口可乐':25,'干茶索巴':25,'大白菜':12}
你期望的结果是什么?我想把它当作字典来使用。例如,{[可口可乐,25]..}我不知道如何实施。
Stock = {1: {'Item Name': "Campbell's Cream of Mushroom",
             'Description': 'Canned Food',
             'Price': 2.30,
             'Stock': 32,
             'Expiry Date': '27/05/25'},
         2: {'Item Name': "Orecchiette",
             'Description': 'Noodles & Pasta',
             'Price': 3.45,
             'Stock': 23,
             'Expiry Date': '27/05/22'},
         3: {'Item Name': "Coca Cola",
             'Description': 'Drinks',
             'Price': 1.50,
             'Stock': 25,
             'Expiry Date': '27/05/21'},
         4: {'Item Name': "Dried Cha Soba",
             'Description': 'Noodles & Pasta',
             'Price': 3.75,
             'Stock': 25,
             'Expiry Date': '27/05/22'},
         5: {'Item Name': "Chinese Cabbage",
             'Description': "Vegetable",
             'Price': 1.50,
             'Stock': 12,
             'Expiry Date': '8/7/2020'}
         }

something = []
for i in Stock:
    something.append(Stock[i]['Item Name'])
    something.append(Stock[i]['Stock'])
print(something)

x = 0
while something != "":
    for i in something:
        x += 1
        newsomething = something[x], something[x+1]
print(newsomething)