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"] ..