TypeError: list indices must be integers or slices, not str

错误如下:

TypeError: list indices must be integers or slices, not str

 

错误代码块:

  1. aa是一组list套dict数据
  2. 函数insert接收2个参数,*args,**kwargs
  3. 我希望把aa这个list传给*args,
  4. 但在执行程序时却报了一标题显示的错误

 

首先是关于*args,**kwargs的基本概念:

对于*args和**kwargs在函数中我们可以称之为参数组,但是这两个还是有区别的

1:*args的功能:------接收N个位置参数,转换成元组tuple形式

2:**kwargs的功能------接收N个关键字参数,转换成字典dict形式

3:位置参数一定要在关键字参数之前,也就是(*args,**kwargs)

更多详细内容参照:

https://blog.csdn.net/qq_29053519/article/details/78671323

问题分析:

参数aa前面加*号表示它是一个已经组装好的tuple,否则python会认为aa是一个位置参数

所以这样修改程序即可按照预期运行:

 

原文地址:https://www.cnblogs.com/kaerxifa/p/11417339.html