-1

我想在下面的代码中使用“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语句发现它们相等?

4

1 回答 1

0

这些值实际上并不相同。Slice_num[person][i, [1]]是一个 numpy.ndarray 包含一个项目,即您要比较的值。尝试
Slice_num[person][i, [1]][0] == Z_pos

于 2018-10-16T13:23:30.120 回答