Я хочу создать новый_list, который будет содержать только элементы моего старого_list, которые удовлетворяют условию, что индекс в массиве меток равен 3. Я пытаюсь что-то вроде этого :Создание списка из списка в python на основе условия if
new_list = [x for x in old_list if idx[x] == 3]
IndexError: arrays used as indices must be of integer (or boolean) type
Но я получаю следующую ошибку, потому что idx - это массив. Как я могу решить эту проблему?
отредактировано: Idx - это массив равного размера с моими исходными данными, который содержит метки для них. Поэтому в основном я хочу создать новый список, который будет содержать только элементы моего исходного списка, которые, например, имеют метку 3.
Я хочу сделать что-то вроде этого: cluster_a = [old_list [x] для x в idx если x == 3]
Уточнение: мой старый список - это список, содержащий 3D-массивы, а idx - массив равного размера, содержащий метку для каждого трехмерного массива моего списка, как указано выше. Я стараюсь объяснить эту проблему. Если что-то нужно, пожалуйста, скажите мне.
Что вы подразумеваете под индексом * в массиве ярлыков 3 *? какой индекс? вы можете показать пример? – Kasramvd
i mean содержащая ценность – gelazari
Можете вы показать нам, что 'old_list' выглядит? – IanAuld