繁体   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