Python程序 用于从列表中删除空值

Python程序 用于从列表中删除空值

本文讨论“如何从列表中删除空值”,在继续之前,有必要了解什么是空值?什么是列表?为什么需要从列表中删除空值。让我们继续讨论这个主题,并详细了解它们。让我们从空值开始。

空值被定义为没有值的参数。它表示没有值。Python有一个特殊的“Null”值,显示一个变量不指向任何东西。

但是在Python中没有空值,有“None”表示没有值。

Python中的None

NONE是Python中的关键字,表示空字符串或缺失值没有输出。在Python中,None是NONE TYPE CLASS的对象,是Python中的一级公民,不定义为0或任何其他值。

  • None可以分配给任何变量。
  • 在Python中,它不被视为空字符串。
  • 它不同于0,False或空字符串。
  • 只有None可以是None。

None的表示

可以通过将变量声明为None来简单地写出None,而不执行任何操作。

variable = None

Python中的列表是什么?

Python中有4种内置数据类型(列表,元组,字典,集合)。列表是其中之一,用于在单个变量中存储多个项目。它们使用方括号[]创建。列表是可变的,这意味着它们是可以变化的;它们有改变其值的能力。这对于插入和删除操作很有用。

为什么需要从Python中删除none?

假设我们有一个很大的数据集,在分析它时,我们发现缺少值或没有值。为确保数据干净,必须从数据集中删除这些空值。空值会影响模型的性能和准确性,因此必须在处理之前从数据中删除不需要的空值,以使其有效。

如何从Python列表中删除none?

我们可以通过以下五种方法从Python中删除无值。让我们用一个例子逐一讨论它们。

使用Filter()方法

在此方法中,我们过滤包括空列表在内的none值。这是从Python列表中删除空值最简单的方法。

例子

以下示例使用filter()方法从my_list中删除所有空字符串,并将其重新分配回my_list.my_list = ['hi','Joy','','whats','','up'],如下所示。

print(my_list)
my_list = list(filter(None,my_list))
print(my_list)

输出

执行上述操作时,将生成以下输出 –

['hi', 'Joy', '', 'whats', '', 'up']
['hi', 'Joy', 'whats', 'up']

使用Naïve方法

可以使用Naïve方法从列表中删除none。我们使用for循环并检查值是否为none,如果是,则忽略其余值可以附加到另一个列表中。

例子

在下面的程序中,初始化列表包含多个值,包括两个None值。创建一个新的空列表,for循环遍历原始列表并检查每个元素是否等于None,使用Naïve方法。

# 带none值的列表
my_list = [4,5, True, False, None, 'List', None]

# 初始化过滤列表
new_list = []

# 使用for循环
for ele in my_list:
   if ele != None:
      new_list.append(ele)
print ("带none值的列表:", my_list)
print ("不带none值的列表:", new_list)

输出

执行上述程序后,将生成以下输出

List with None values: [4, 5, True, False, None, 'List', None]
List without None values: [4, 5, True, False, 'List']

使用join()方法

我们还有另一种方法可以使用join()函数从列表中删除None。

例子

以下是使用join()方法从列表中删除None的示例:

myList = ['', 'Salad','is', '','Good', '']

# 从列表中删除空值
newList = ' '.join(myList).split()

输出

执行以上程序,输出以下结果 –

['Salad', 'is', 'Good']

使用列表推导式

我们使用列表推导式来删除空值。这是一种从现有数据类型(如列表、元组和集合)创建新列表的方法。在此方法中,我们遍历列表,但不包括为空的列表。

示例

以下是一个示例,演示如何使用列表推导式删除空值。

# 具有None值的列表 
my_list = [0,1, True, None, False]

# 使用列表推导式删除无值 
new_list = [ ele for ele in my_list if ele is not None ]
print("具有无值的列表: ", my_list)
print("没有无值的列表", new_list)

输出

执行以上程序,输出以下结果 –

具有无值的列表: [0, 1, True, None, False]
没有无值的列表 [0, 1, True, False]

使用enumerate函数

enumerate是一个内置的函数,用于循环遍历列表、元组、字典和字符串。它允许迭代序列,但同时跟踪索引和元素。

示例

在以下程序中,创建了一个名为my_list的包含字符串的列表。然后,从现有列表中创建一个新列表,删除其中所有的空格,并修改了列表。

my_list = [' ', 'myfile', ' ', 'is', 'running', ' ']
my_list = [i for a,i in enumerate(my_list) if i!=' ']
print (my_list)

输出

执行以上程序,生成以下输出。

['myfile', 'is', 'running']

结论

在本文中,我们讨论了删除列表中的空值的各种方法。我简单地解释了逐步删除空值的方法。我们已经看到了所有不同的方法,它们可以帮助我们从列表中删除空值,如filter()、列表推导式、朴素方法、join方法和enumerate函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 实例