Попробуйте следующее:
>>> a=[1,2,3,3,4,5,6,6,7,8,9,2,0,0]
>>> a=[i for i in a if a.count(i)>1]
>>> a
[2, 3, 3, 6, 6, 2, 0, 0]
>>> a=[1, 2, 3, 1, 3]
>>> a=[i for i in a if a.count(i)>1]
>>> a
[1, 3, 1, 3]
>>> a=[1, 2, 3, 4, 5]
>>> a=[i for i in a if a.count(i)>1]
a
[]
Пакеты * - devel
(обычно называемые * - dev
в дистрибутивах на основе Debian) обычно все файлы, необходимые для компиляции кода для данной библиотеки.
Для запуска приложения с использованием библиотеки libfoo
только актуальный файл общей библиотеки ( *. So. *
, например libfoo.so.1.0
) необходимы (плюс, возможно, некоторые файлы данных и некоторые символические ссылки для конкретных версий).
Если вы действительно хотите скомпилировать приложение C, которое использует эту библиотеку, вам понадобятся файлы заголовков ( *. H
, например foo.h
), которые описывают интерфейс. этого приложения, а также символическую ссылку без версии на общую библиотеку ( *. so
, например libfoo.so
-> libfoo.so.1.0
). Обычно они входят в пакеты * - devel
.
Иногда пакеты * - devel
также включают статически скомпилированные версии библиотек ( *.a
, например libfoo.a
) на случай, если вы хотите создать полноценное автономное приложение, которое вообще не зависит от динамических библиотек.
В других языках (например, Java, Python и т. Д.) Используется другой способ обозначения API библиотеки (фактически включающий всю необходимую информацию в фактическую библиотеку), и поэтому обычно не требуется отдельного * - пакеты devel
(кроме, возможно, документации и дополнительных инструментов).
Обычно они содержат необходимые заголовки и библиотеки. Например, python-devel предоставит заголовки и библиотеки Python, которые вам понадобятся, если вы хотите встроить интерпретатор Python в свое собственное приложение. Также включены некоторые дополнительные инструменты и документация (например, руководство разработчика или примеры кода).