python - 我如何用 int 替换列表中的 None 值?
问题描述
在此处输入代码所以,基本上我有一个包含 int 值的列表,我想查看列表中缺少哪些值。为此,我将 Value 与 1 到 9 的范围(范围(1,9))进行比较。
matrix = [None, 8, 3, 9, 2, 1, 6, 5, None]
当我运行此代码时:
for row in matrix:
if range(1,9) not in row :
print(row)
else:
print('wrong logic')
我收到此错误
TypeError: 'NoneType' object cannot be interpreted as an integer
解决方案
我们可以将其视为两组的差异,一组包含所有感兴趣的数字,另一组包含您列表中的数字。您需要做的就是用列表中的值减去包含所有数字的集合。
list = [None, 8, 3, 9, 2, 1, 6, 5, None]
missing_numbers = set(range(1,9)) - set(list)
print(missing_numbers)
这将打印{4, 7}
.
推荐阅读
- reactjs - 使用 socket.io 将 MERN 应用程序部署到 heroku
- ios - NSString 是什么类型,有多少字节?
- html - 如何将 2 张不同大小的图片并排放置,以便 HTML 中的高度相同?
- pandas - 如何访问熊猫中删除的值?
- vba - Outlook vba 读取邮件 RTFbody 失败并出现错误“未实现”
- c++ - 仅在信号上结束的自定义 std::thread
- c++ - C++ 中带有 const 参数的 std::variant
- sympy - Sympy:两个符号列表的 sumproduct
- flutter - 使用默认应用程序启动文件,但在颤动中标记为 READY ONLY
- html - 锚点不包含文本