У меня есть словарь, состоящий из списков:вычитая элементы словаря
>>> triplets.get(k)
[[1, 3, 15], [1, 3, 13], [1, 3, 11], [1, 3, 9], [1, 3, 8], [1, 3, 5], [1, 4, 15]
, а также словари:
>>> cset1.get(k)
[set([5])]
>>> cset2.get(k)
[[1, 8], [1, 9], [1, 11]]
Я хочу, чтобы удалить элементы троек, которые содержат элемент cset1
или оба элементы cset2
, т.е. хочу удалить [1,3,5]
, который содержит [5]
, а также [1, 3, 8], [1, 3, 9], [1, 3, 11]
, которые содержат оба элемента: cset2
.
У меня есть следующий фрагмент кода (который не делает ничего вообще):
CDln = len(triplets.get(k))
for ii in range(CDln):
if cset1.get(k) in triplets.get(k)[ii] or cset2.get(k) in triplets.get(k)[ii]:
print "delete element of triplets in location:", ii
Я не могу понять, как удалить эти элементы из словаря triplets
(я использую print
заявление как манекен чего я хочу).
Не могли бы вы объяснить, что вы собираетесь достичь с помощью этого structe данных или откуда оно возникает? Просто чтобы избежать проблемы X-Y. – Hyperboreus
@Hyperboreus, что такое X-Y-проблема? –
@PaulDraper Задавая вопрос о X, пытаясь решить Y. – Hyperboreus