python如何从列表中删除空值

254 阅读3分钟

在python中,当一个函数没有返回任何东西时,它会间接地返回 "None"。由于即将到来的ML(机器学习),我们现在的重点是理解None值。这背后的目标是,它是数据预处理的关键阶段。因此,消除None值是至关重要的,所以你必须知道它有多重要。让我们来讨论实现这一目标的某些技术。为了在python中替换无,我们使用不同的技术,如DataFrame、fillna或Series。python中的No关键字声明了空对象和变量。在python中,none指的是 "NoneType "类。

我们可以将None分配给许多变量,它们都指向一个类似的对象。关于none的有趣的事实是,我们不能把false看作是any。None是一个空白的字符串或一个0。让我们借助于例子来证明这一点。我们使用Spyder编译器或不同的策略来解释python如何从列表中删除空值。

例子1

在我们的第一个例子中,我们使用一个简单的方法来解释如何从 python 列表中删除无。我们创建了一个新的 list,添加了非 None 或 none 元素,然后遍历整个 list。让我们检查一下它是如何工作的。要运行你的代码,你必须做的第一件事就是启动Spyder IDE。因此,在Windows PC的搜索栏中,输入 "Spyder",然后点击打开。使用键盘快捷键'Ctrl+Shift+N'来创建一个新文件,或者移动到文件菜单。创建一个新文件后,写一段python代码,详细说明从python列表中删除无。

在这个方法中,我们首先初始化我们的列表,并向其中添加无或非无的元素。然后我们使用了一个打印函数,打印出我们新列表中所有的无或非无的项目。然后,我们使用基本方法从列表中删除无元素的值。为了检查无的元素,我们使用了if语句。如果列表中的元素是None,它就将该元素存储在'result'中;否则,它就调用append函数。最后,我们使用一个打印函数,在控制台屏幕上显示结果输出。

my_list = [2, None, 3, None, None, 8, None, 9]

print ("My list is : " + str(my_list))

result = []

for val in my_list:

if val != None :

res.append(val)

print ("List after removing None values : " +  str(result))

一旦你成功地编写了Python代码,移到 "文件 "菜单,以".py "为扩展名保存你的代码文件。在我们的图示中,文件名是'RemoveNone.py'。你可以在你的插图中指定任何文件名。

使用 "F9 "键来运行你的程序文件,或者在你的控制台屏幕上验证python代码的输出。

例2

使用第一种方法的不妥之处在于,它非常耗费时间。太多的代码行是浪费时间的,所以在这里我们做同样的事情,但是用压缩的方式。我们寻找非无的值,并制作一个新的列表。

让我们看看我们是如何以一种非常精确的方式来做这件事的。在Windows 10中打开Spyder编译器,选择一个新的空白文件或使用同一个文件。我们使用相同的python代码文件 "RemoveNone.py",并对其进行了修改。首先,我们初始化并打印列表,就像我们在上面的代码中做的那样。然后我们使用一个列表理解的语法来消除列表中的无值,之后,我们使用一个打印函数来打印新的过滤后的列表中的非无值。

my_list = [2, None, 3, None, None, 8, None, 9]

print ("My list is : " + str(my_list))

result = [i for i in my_list if i]

print ("List after removing None values : " +  str(result))

保存程序文件并运行代码以检查控制台屏幕上的输出。

总结

本教程主要介绍了如何从Python列表中删除None。除了上述方法外,你还可以使用 filter() 函数来从 python 列表中删除 None。我相信现在你可以很容易地实现这两个图示。