Я пытаюсь выяснить, как сравнить n количество списков, чтобы найти общие элементы. Например:Как найти общие элементы в списке списков?
p=[ [1,2,3],
[1,9,9],
..
..
[1,2,4]
>> print common(p)
>> [1]
Теперь, если я знаю, что число элементов я могу сделать comparions как:
for a in b:
for c in d:
for x in y:
...
, но это не будет работать, если я не знаю, сколько элементов р имеет. Я смотрел на это решение, которое сравнивает два списка https://stackoverflow.com/a/1388864/1320800
, но проведя 4 часа, пытаясь понять способ сделать это рекурсивный, решение все еще ускользает меня так что любая помощь будет высоко ценится!
Возможный дубликат [Python: Как найти список пересечений?] (Http://stackoverflow.com/questions/3697432/python-how-to-find-list-intersection) –
Ваше решение должно быть рекурсивным? Можете ли вы использовать встроенные функции 'intersect' (то есть это домашнее задание?)? –
Я не знал, что правильный термин был «пересечением», поэтому спасибо за это. Это поможет мне разобраться в этом больше.Теперь он не должен быть рекурсивным, но мы только что узнали о рекурсии, поэтому я решил, что, вероятно, мне придется сравнить p [0] и p [1], а затем передать результат остальным элементам, поэтому я подумал, что, вероятно, это будет рекурсивное решение – 8bits