首页 > 解决方案 > 我如何用 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

标签: python

解决方案


我们可以将其视为两组的差异,一组包含所有感兴趣的数字,另一组包含您列表中的数字。您需要做的就是用列表中的值减去包含所有数字的集合。

list = [None, 8, 3, 9, 2, 1, 6, 5, None] 
missing_numbers = set(range(1,9)) - set(list)
print(missing_numbers)

这将打印{4, 7}.


推荐阅读