在列表和 Numpy 数组中嵌套列表
Nesting List within a List and Numpy Arrays
如何在列表或数组的每个单元格中插入一些矩阵(如图像),然后将每个矩阵用作数组(如 Matlab 中的单元格数组)?
我试过这样做,如下代码所示:
a = []
for dcmfile in dcmfiles:
dcm_image = pydicom.dcmread(os.path.join(root, dcmfile))
a.append([dcm_image.pixel_array])
volume_image = np.concatenate((a, ?), 1) # problem is in this line because two variables are needed to the "concatenate".
此外,我检查了下面的代码,但它有一个错误:
volume_image = {}
for i, dcmfile in dcmfiles:
dcm_image = pydicom.dcmread(os.path.join(root, dcmfile))
volume_image[i] = dcm_image.pixel_array
ValueError:要解压的值太多(应为 2 个)
错误表明,在某些时候,python 需要 2 个对象(值),但只发送了一个。罪魁祸首在:
for i, dcmfile in dcmfiles:
此处您正在遍历 dcmfile
的元素,因此 for .. in
语句将 return 一次操作一个元素。但是,您要求两个元素,即 i
和 dcmfile
,因此出现错误。
您应该将其更改为:
for i, dcmfile in enumerate(dcmfiles):
如果 dcmfiles
是可迭代的或在:
for i, dcmfile in dcmfiles.iteritems(): # for python 2.x
for i, dcmfile in dcmfiles.items(): # for python 3.x
如果 dcmfiles
是字典
如何在列表或数组的每个单元格中插入一些矩阵(如图像),然后将每个矩阵用作数组(如 Matlab 中的单元格数组)? 我试过这样做,如下代码所示:
a = []
for dcmfile in dcmfiles:
dcm_image = pydicom.dcmread(os.path.join(root, dcmfile))
a.append([dcm_image.pixel_array])
volume_image = np.concatenate((a, ?), 1) # problem is in this line because two variables are needed to the "concatenate".
此外,我检查了下面的代码,但它有一个错误:
volume_image = {}
for i, dcmfile in dcmfiles:
dcm_image = pydicom.dcmread(os.path.join(root, dcmfile))
volume_image[i] = dcm_image.pixel_array
ValueError:要解压的值太多(应为 2 个)
错误表明,在某些时候,python 需要 2 个对象(值),但只发送了一个。罪魁祸首在:
for i, dcmfile in dcmfiles:
此处您正在遍历 dcmfile
的元素,因此 for .. in
语句将 return 一次操作一个元素。但是,您要求两个元素,即 i
和 dcmfile
,因此出现错误。
您应该将其更改为:
for i, dcmfile in enumerate(dcmfiles):
如果 dcmfiles
是可迭代的或在:
for i, dcmfile in dcmfiles.iteritems(): # for python 2.x
for i, dcmfile in dcmfiles.items(): # for python 3.x
如果 dcmfiles
是字典