arrays - 比较来自两个不同类别的两个值"“ 和在 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
语句发现它们相等?
解决方案
这些值实际上并不相同。Slice_num[person][i, [1]]
是一个 numpy.ndarray 包含一个项目,即您要比较的值。尝试
Slice_num[person][i, [1]][0] == Z_pos
推荐阅读
- php - 在 WooCommerce 中制作爱尔兰所需的邮政编码结帐字段
- azure-devops - Azure Devops:将命令行任务的输出保存到要在另一个步骤中使用的变量中
- javascript - React:更新数组道具不会触发 useEffect 钩子
- javascript - 单击按钮时尝试计算成本 - 值未更新
- node.js - 使用 mongoose Schema 为已声明的 MongoDB 对象添加值
- javascript - 节点 - 找不到模块
- python - 模板中的 Django 布尔过滤器元素
- pandas - 如何通过 Pandas DataFrame 中相邻列的平均值填充 NaN 值
- javascript - 为什么 Javascript 的 `file.lastModified` 不返回原始修改日期,而是返回上传文件的上传日期?
- sql - 在 SQL 中使用 UNIQUE 效率低吗?