Сравнение двух значений из двух разных классов "<class 'pydicom.valuerep.DSfloat'>" и <class 'numpy.ndarray'> в Python
Я хочу сравнить некоторые значения, используя "если" в коде ниже, но это не работает:
if Slice_num[person][i, [1]] == Z_pos: # Slice_num[0][15, [1]] is ['-10.000000'] and Z_pos = -10.000000
absname = os.path.join(root, dcmfile)
Пример: значения в приведенных выше переменных равны:
Z_pos: -10.000000 , <class 'pydicom.valuerep.DSfloat'>
Slice_num[person][i, [1]]: ['-10.000000'] , <class 'numpy.ndarray'>
Итак, когда код выполняется, if
заявление не может быть применено и следующая строка после if
Заявление не может быть выполнено. в то время как значение (-10.000000) одинаково в обоих из них. Как решить проблему, чтобы if
Скажите найти их равными?
1 ответ
Значения на самом деле не совпадают. Slice_num[person][i, [1]]
это numpy.ndarray, содержащий один элемент, а именно значение, которое вы хотите сравнить. ПытатьсяSlice_num[person][i, [1]][0] == Z_pos