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是一個位置參數

所以這樣修改程序即可按照預期運行:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM