Сравнение двух значений из двух разных классов »" а такжев Python - PullRequest
0 голосов
/ 16 октября 2018

Я хочу сравнить некоторые значения, используя "if" в приведенном ниже коде, но это не работает:

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 Ответ

0 голосов
/ 16 октября 2018

Значения на самом деле не совпадают.Slice_num[person][i, [1]] - это numpy.ndarray, содержащий один элемент, а именно значение, которое вы хотите сравнить.Попробуйте
Slice_num[person][i, [1]][0] == Z_pos

...