Я использую Python 3.4 и Wing Personal в Windows 7. У меня есть список из списка int и второго списка, который содержит 3 ints. Я хотел бы указать, сколько раз все 3 элемента списка [b] отображаются в списке [a].подсчет количества подписок, содержащих 3 общих элемента в Python 3
a=[[1, 6, 11,12, 14, 15], [4, 11, 23, 32, 45, 48],
[3, 7, 11, 14, 15, 17], [1, 8, 14, 24, 45, 53],
[2, 5, 9, 24, 34, 40], [10, 11,13, 14, 15, 22, 36]]
b=[11,14,15]
count =0
anotherList = []
for sublist in a:
for element in b:
if element in sublist:
anotherList.append(element)
count+=1
print (anotherList)
print (count/3)
Здесь графы должны быть 3, а не 3,6, и в то время как пол деление бы вылечить это не помогает, если список [а] содержит 20 подсписка и один 14 произошел в 6 подсписке.
Проблема заключается в том, что подсчитывается общее количество раз, когда любой из элементов в списке [b] встречается в списке [a], а не в виде шаблона из всех трех элементов. Я разделил на 3 мысли, которые сделают правильный подсчет до тех пор, пока я не осознаю, что только 14 произошли в списке, который также был подсчитан, поэтому счет будет отключен.
Обратите внимание, что индекс отличается в каждом списке, и иногда между элементами, которые я хочу идентифицировать, возникает другой элемент. т.е. элементы не всегда вместе, как 11,14,15. иногда между ними есть еще один элемент.
Я считал, что пытаюсь удалить все числа, кроме 11,14,15, затем удалить весь список длиной менее 3 элементов, но каким-то образом это не похоже на то, как это сделать.
Любая помощь приветствуется.
Ах ... Тонкое ... +1 :) – thefourtheye