Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 即使列表中没有零,检查列表中是否有零也会返回True_Python_Python 3.x - Fatal编程技术网

Python 即使列表中没有零,检查列表中是否有零也会返回True

Python 即使列表中没有零,检查列表中是否有零也会返回True,python,python-3.x,Python,Python 3.x,因此,我与Spotlight(一个基于PyTorch的推荐系统库)合作,并尝试使用训练数据构建一组序列。Spotlight在创建这些序列时所做的一个内部检查是确保项目ID都是非零的,因为在序列中零被用作填充值 我知道我的输入数据中没有零(它是从我确保没有零的文件中读取的),但出于某种原因,Spotlight中的检查表明item ID列表中有零 更奇怪的是,当我尝试以下方法时会发生什么: for id in interactions.item_ids: if id == 0:

因此,我与Spotlight(一个基于PyTorch的推荐系统库)合作,并尝试使用训练数据构建一组序列。Spotlight在创建这些序列时所做的一个内部检查是确保项目ID都是非零的,因为在序列中零被用作填充值

我知道我的输入数据中没有零(它是从我确保没有零的文件中读取的),但出于某种原因,Spotlight中的检查表明item ID列表中有零

更奇怪的是,当我尝试以下方法时会发生什么:

for id in interactions.item_ids:
    if id == 0:
        print("there is a zero ID")

# This is how Spotlight checks
if 0 in interactions.item_ids:
    print("there is a zero")
只有第二部分打印任何输出。第一个似乎没有检测到任何零

这让我很困惑。为了澄清,条目ID是
int64
s的NumPy数组。前十个条目如下所示(我可以提供一个包含67000个条目的文件,所以你们可以检查我是否愚蠢,是否确实没有零):


谢谢您的帮助。

事实证明,当我试图解决MCVE时,我解决了这个问题!显式执行
np.array(interactions.item\u id)
修复了这个问题

也许可以提供一个互动的例子。item_id看起来像什么。谢谢你的反馈,我已经在帖子中添加了前十个,如果需要的话,我可以上传一个包含67000个的文件。如果你这样做,你的代码是否到处都打印“False”?items_id=np.array([1339112919531343106128714053136711293],dtype=np.int64)打印(items_id==0)请阅读并遵循帮助文档中的发布指南,如创建此帐户时所建议的。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。您提供了一个文本文件,但您发布的代码假定它神奇地转变为所需的数据结构。相反,只需对产生问题的数据结构进行硬编码。我们不应该处理文件读取阴谋。
1339
1129
1953
1343
1061
1287
1405
31
3671
1293