#python #dictionary
Вопрос:
Я попытался удалить дубликаты списка с помощью 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)
пожалуйста, помогите мне решить эту проблему.Спасибо
Ответ №1:
Вы объявляете список здесь mydir = []
Измените его на словарь mydir = {}
Ответ №2:
вы отлично справляетесь с одной маленькой ошибкой. вы объявляете «mydir» как список python и даете ему » p7 » в качестве индекса. В списке Python не может быть строковых индексов. вы можете изменить первую строку на следующую.
mydir = {}
Ответ №3:
Вы пытаетесь вставить элемент в mydir
индекс at 'p7'
(который представляет собой строку). Индексы являются целыми числами, а не строками. Вот почему произошла ошибка.
В вашем вопросе говорится, что вы хотите вставить в a dictionary
, и ваш код использует a 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]}