簡體   English   中英

Python 錯誤:列表索引必須是整數或切片,而不是 str

[英]Python Error : list indices must be integers or slices, not str

我嘗試使用set方法刪除列表的重復項,並將該值與一個鍵添加到一個空的 python 字典中。

但它給了我那個錯誤信息

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

我試過這種方式:

mydir =[]
person_trackID = "p7"
class_ids = [3 ,3 ,3 ]
print(mydir,person_trackID,set(class_ids))
mydir[person_trackID] = list(set(class_ids))
print(mydir)

請幫我解決這個問題。謝謝

你在這里聲明一個列表mydir = []

將其更改為字典mydir = {}

你有一個小錯誤就做得很好。 您將 'mydir' 聲明為 python 列表,並將它的 'p7' 作為索引。 Python 列表不能有字符串索引。 您可以將第一行更改為以下內容。

mydir = {}

您正試圖在索引'p7' (這是一個字符串)的mydir中插入一個項目。 索引是整數而不是字符串 這就是錯誤的原因。

你的問題說你想插入dictionary ,你的代碼使用了一個list

mydir = {} - 這是一本字典

mydir = [] - 這是一個列表

以下是您需要做的:

mydir = {}
person_trackID = "p7"
class_ids = [3 ,3 ,3 ]
print(mydir,person_trackID,set(class_ids))

mydir[person_trackID] = list(set(class_ids))
print(mydir)
{} p7 {3}
{'p7': [3]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM