是否可以在python中添加多值和列表。我收到类型错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以在python中添加多值和列表。我收到类型错误相关的知识,希望对你有一定的参考价值。

我正在尝试将多值添加到列表中。但是我收到错误消息说我不能。我还尝试了.append和.extend到列表的多值,但它来了,您不能将NaN值添加到列表中。另外,我在理解究竟什么是多值方面有困难。

我试图运行的代码是:

original_z_spacing = np.abs(patient_data[0].ImagePositionPatient[2]
                            - patient_data[1].ImagePositionPatient[2])
# obtain rescaled HU array
hu_array = get_hounsfield_unit_array(patient_data)

original_spacings = np.array(patient_data[0].PixelSpacing + [original_z_spacing], dtype='float32')

患者数据是包含dicom文件的1595个文件夹的文件夹。我正在Python 3.7和pydicom版本1.4.2上运行此代码。我得到的错误是:TypeError:+不支持的操作数类型:“ MultiValue”和“ list”

答案

这里有两个问题:MultiValue确实不能添加到列表中,但是可以将其强制转换为列表。在PixelSpacing具有VR“ DS”(例如,是作为字符串值编写的,因此您必须将其转换为浮点型。

这应该起作用:

pixel_spacing = patient_data[0].PixelSpacing
original_spacings = np.array([float(pixel_spacing[0]), float(pixel_spacing[1]), original_z_spacing], dtype='float32')

以上是关于是否可以在python中添加多值和列表。我收到类型错误的主要内容,如果未能解决你的问题,请参考以下文章

在放大graphql中添加多对多连接

在ios中添加多个子视图

我正在尝试在 django 中添加多对多字段但出现错误

Magento 2 - 在管理表单中添加多选状态

Oracle Sql:如何在 sql 中添加多个子总计?

如何在 Android 的警报对话框中添加多项选择复选框?