Python 我试图转换数据类型,但它刚刚成功';t work.TypeError:列表索引必须是整数或切片,而不是dict
我一直收到错误的信息。。。我的代码怎么了?谢谢 我试图转换数据类型,但它就是不起作用。类型错误:列表索引必须是整数或切片,而不是字典 这是控制台一直向我显示的内容:Python 我试图转换数据类型,但它刚刚成功';t work.TypeError:列表索引必须是整数或切片,而不是dict,python,list,dictionary,types,Python,List,Dictionary,Types,我一直收到错误的信息。。。我的代码怎么了?谢谢 我试图转换数据类型,但它就是不起作用。类型错误:列表索引必须是整数或切片,而不是字典 这是控制台一直向我显示的内容: Traceback (most recent call last): File "main.py", line 35, in <module> the_winnner_goes_to() File "main.py", line 17,
Traceback (most recent call last):
File "main.py", line 35, in <module>
the_winnner_goes_to()
File "main.py", line 17, in the_winnner_goes_to
winner_bid_test = int(bidder_list[x]["bidder_offer"])
TypeError: list indices must be integers or slices, not dict
您的
投标人\u列表
是一个目录列表。所以就像
bidders_list = [
{
"bidder_name" : xxx,
"bidder_offer" : yyy
},
{
"bidder_name" : xxx,
"bidder_offer" : yyy
},
.
.
.
]
所以你想这么做
for x in bidder_list:
.. bidder_list[x]["bidder_offer"] ..
这是错误的,所以你应该
for x in bidder_list:
.. x["bidder_offer"] ..
因为x
是dict
如果您想运行
bidder\u list[x][“bidder\u offer”]
您应该尝试
x[“投标人报价”]
,而不是投标人名单[x][“投标人报价”]
@rish\u hyun OMG!!!它工作!!!但我不知道为什么我不需要添加“投标人名单”?是因为我在vor循环中已经有一个投标人名单了吗?非常感谢!我对python是如此陌生!谢谢你帮助我!这取决于你想如何浏览列表,我已经更新了我的答案:)当你使用x[“投标人报价”]
时,这里x是dict,所以你实际上是在一个dict上工作,但是当你使用投标人名单[x][“投标人报价”]
时,这里x
是索引,所以投标人名单[x]
是一个单独的dict.Buddy,如果这对你有用的话,请勾选被接受的答案,这会激励我:)太棒了!谢谢!我还需要学很多东西来学习!
for x in bidder_list:
.. x["bidder_offer"] ..
for x in range(len(bidders_list)):
.. bidder_list[x]["bidder_offer"] ..