“ 和在 Python 中,arrays,python-3.x,numpy,pydicom"/>

首页 > 解决方案 > 比较来自两个不同类别的两个值"“ 和在 Python 中

问题描述

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

标签: arrayspython-3.xnumpypydicom

解决方案


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


推荐阅读