在python中使用列表理解时,类型“list”不可损坏

2024-05-29 01:41:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在代码中有一个集合,名为malicious_urls,我正试图从中构建一个列表理解。在

当我运行'' in malicious_urls时,我得到一个False返回值。另外,我有一个数组input,当我运行[e for e in input]时,我得到与输入相同的set back。在

但是,当我试图运行[e in malicious_urls for e in input]来获得一个恶意输入URL的列表时,我会返回一个错误,说TypeError: unhashable type: 'list'?在


Tags: 代码infalseurl列表forinputback
2条回答

如果input是一个列表列表(听起来像是这样),那么您的列表理解就缺少了一个步骤。在

[[e in malicious_urls for e in i] for i in input]  

例如

^{pr2}$

如果你想要一个扁平化的列表,你也可以使用列表理解。在

[item for sublist in [[e in s for e in i] for i in l] for item in sublist]

我认为这不是一个使用列表理解的好地方,因为你想要的是两个列表的交集。在

相反,我将使用^{},因为集合的基本运算是交集:

>>> malicious = {'badsite.com', 'reallybadsite.com', 'literallywillkillcomputer.com'}
>>> sites = {'badsite.com', 'goodsite.com', 'literallywillkillcomputer.com'}
>>> sites & malicious
{'badsite.com', 'literallywillkillcomputer.com'}

相关问题 更多 >

    热门问题