Python中移除List重复项的五种方法

  • Post category:Python

以下是“Python中移除List重复项的五种方法”的完整攻略。

1. 方法总结

在Python中,可以使用以下五种方法移除List中的重复项:

1.1 使用set()函数

使用set()函数可以将List中的重复项移除。示例如下:

my_list = [1, 2, 2, 3, 3, 4, 5, 5]
new_list = list(set(my_list))
print(new_list)

在上面的示例代码中,我们首先定义了一个名为my_list的List,其中包含了多个重复项。然后,使用set()函数将my_list中的重复项移除,并将结果转换为List类型。最后,使用print()函数输出new_list。

我们期望的输出结果是[1, 2, 3, 4, 5],而实际上输出结果也是[1, 2, 3, 4, 5]。

1.2 使用列表推导式

使用列表推导式可以将List中的重复项移除。示例如下:

my_list = [1, 2, 2, 3, 3, 4, 5, 5]
new_list = []
[new_list.append(x) for x in my_list if x not in new_list]
print(new_list)

在上面的示例代码中,我们首先定义了一个名为my_list的List,其中包含了多个重复项。然后,使用列表推导式将my_list中的重复项移除,并将结果存储在new_list中。最后,使用print()函数输出new_list。

我们期望的输出结果是[1, 2, 3, 4, 5],而实际上输出结果也是[1, 2, 3, 4, 5]。

1.3 使用for循环

使用for循环可以将List中的重复项移除。示例如下:

my_list = [1, 2, 2, 3, 3, 4, 5, 5]
new_list = []
for x in my_list:
    if x not in new_list:
        new_list.append(x)
print(new_list)

在上面的示例代码中,我们首先定义了一个名为my_list的List,其中包含了多个重复项。然后,使用for循环将my_list中的重复项移除,并将结果存储在new_list中。最后,使用print()函数输出new_list。

我们期望的输出结果是[1, 2, 3, 4, 5],而实际上输出结果也是[1, 2, 3, 4, 5]。

1.4 使用字典

使用字典可以将List中的重复项移除。示例如下:

my_list = [1, 2, 2, 3, 3, 4, 5, 5]
new_list = list(dict.fromkeys(my_list))
print(new_list)

在上面的示例代码中,我们首先定义了一个名为my_list的List,其中包含了多个重复项。然后,使用字典将my_list中的重复项移除,并将转换为List类型。最后,使用print()函数输出new_list。

我们期望的输出结果是[1, 2, 3, 4, 5],而实际上输出结果也是[1, 2, 3, 4, 5]。

1.5 使用numpy库中的unique()函数

使用numpy库中的unique()函数可以将List中的重复项移除。示例如下:

import numpy as np

my_list = [1, 2, 2, 3, 3, 4, 5, 5]
new_list = np.unique(my_list)
print(new_list)

在上面的示例代码中,我们首先定义了一个名为my_list的List,其中包含了多个重复项。然后,使用numpy库中的unique()函数将my_list中的重复项移除,并将结果存储在new_list中。最后,使用print()函数输出new_list。

我们期望的输出结果是[1, 2, 3, 4, 5],而实际上输出结果也是[1, 2, 3, 4, 5]。

2. 示例说明

示例1:使用set()函数

my_list = [1, 2, 2, 3, 3, 4, 5, 5]
new_list = list(set(my_list))
print(new_list)

在上面的示例代码中,我们首先定义了一个名为my_list的List,其中包含了多个重复项。然后,使用set()函数将my_list中的重复项移除,并将结果转换为List类型。最后,使用print()函数输出new_list。

我们期望的输出结果是[1, 2, 3, 4, 5],而实际上输出结果也是[1, 2, 3, 4, 5]。

示例2:使用列表推导式

my_list = [1, 2, 2, 3, 3, 4, 5, 5]
new_list = []
[new_list.append(x) for x in my_list if x not in new_list]
print(new_list)

在上面的示例代码中,我们首先定义了一个名为my_list的List,其中包含了多个重复项。然后,使用列表推导式将my_list中的重复项移除,并将结果存储在new_list中。最后,使用print()函数输出new_list。

我们期望的输出结果是[1, 2, 3, 4, 5],而实际上输出结果也是[1, 2, 3, 4, 5]。

3. 总结

在Python中,可以使用set()函数、列表推导式、for循环、字典和numpy库中的unique()函数将List中的重复项移除。其中,使用set()函数和列表推导式比较简单,而for循环和字典可以处理更复杂的List。numpy库中的unique()函数可以处理更大的List。