首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python列表中添加仅包含整数的

在python列表中添加仅包含整数的
EN

Stack Overflow用户
提问于 2022-05-02 13:29:32
回答 2查看 150关注 0票数 0

我有下面的代码,这是可行的,但我只想要一个整数的列表。如何让python只追加整数,而不是(数组)部分?

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as p

icp4 = np.loadtxt(icp4_img)
ptm = np.loadtxt(ptm_img)

inside, outside = [], []

with np.nditer(icp4, op_flags=['readwrite']) as icp_it, np.nditer(ptm, op_flags=['readonly']) as ptm_it:
    for icp, ptm in zip(icp_it, ptm_it):
        if icp[...] > 800:
            icp[...] = 1
        else:
            icp[...] = 0
        if np.all(icp > 0):
            inside.append(ptm)
        else:
            outside.append(ptm)

p.imshow(icp4, interpolation='nearest', cmap='gray')
p.show()
print(insdie)
>>>[array(435.), array(945.), array(761.)]
EN

回答 2

Stack Overflow用户

发布于 2022-05-02 14:08:57

似乎每个ptm都是一个标量数组。

若要获得标量数组ptm的标量等效值,请使用ptm.item() (文档)。

因此,不要将ptm附加到inside中,而是尝试追加ptm.item()

或者,附加float(ptm)应该完成相同的任务。如果需要为整数,则追加int(ptm)

备注

要获得标量数组的标量等效值,可以使用numpy.asscalar()。然而,这一职能现在已被取消。文档说使用item()方法代替。

票数 1
EN

Stack Overflow用户

发布于 2022-05-02 13:38:14

如果我正确地理解了您想要做的事情,您只需要追加ptm[0] (即数组ptm的第一个整数和唯一整数),而不是ptm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72087441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档