如果使用 Python 不存在,则将值附加到列表

目录

Append value to list if not already present using Python

  1. 如果使用 Python 尚不存在,则将值附加到列表
  2. 如果在 Python 中满足条件,则将值附加到列表
  3. 如果在 Python 中不是 None,则追加到列表

如果使用 Python 不存在,则将值附加到列表

将值附加到列表(如果不存在):

  1. 使用not in运算符检查值是否不在列表中。
  2. list.append()如果值不存在,请使用该方法将值追加到列表中。
  3. 该列表不会包含任何重复值。
主程序
my_list = [1, 2, 3, 4, 5] value = 6 if value not in my_list: my_list.append(value) else: print('The specified value is already present in the list') print(my_list) # 👉️ [1, 2, 3, 4, 5, 6]

在使用该方法之前,我们使用not in运算符检查列表中是否不存在值list.append()

in 运算符测试成员资格。例如,如果是 的成员
,则
x in l计算为,否则计算为TruexlFalse

x not in l返回 的否定x in l

如果列表中不存在该值,我们将使用该list.append()方法添加它。

list.append
()
方法将一个项目添加到列表的末尾。

该方法在改变原始列表时返回 None 。

如果不存在,将多个值附加到列表

如果您需要遍历一组值,您可以使用相同的方法,检查每个值是否存在于列表中并且仅附加不存在的值。

主程序
new_list = [] list_of_values = [1, 1, 2, 2, 3, 3, 4, 4] for item in list_of_values: if item not in new_list: new_list.append(item) print(new_list) # 👉️ [1, 2, 3, 4]

我们使用for循环来迭代值列表。

在每次迭代中,我们检查当前值是否存在于另一个列表中。

如果列表中不存在该值,我们将使用该append()方法将其附加到列表中。

new_list变量不存储任何重复项。

要考虑的另一种方法是使用set对象。

使用Set对象替代 lits

集合对象是唯一元素的无序集合。

主程序
list_of_values = ['a', 'a', 'b', 'b', 'c', 'c'] my_set = list(set(list_of_values)) print(my_set) # 👉️ ['b', 'c', 'a']

我们使用set()类将列表转换为set对象。由于set对象仅存储唯一值,因此会自动删除任何重复项。

但是,只有当元素的顺序不重要时才应该使用这种方法,因为set对象是无序的。

如果您决定使用一个set对象,则不必检查该值是否已存在于set.

您可以直接使用该set.add()方法,因为无法将重复值添加到set.

主程序
my_set = set() my_set.add(1) my_set.add(1) my_set.add(2) my_set.add(2) my_set.add(3) my_set.add(3) print(my_set) # 👉️ {1, 2, 3}

如果在 Python 中满足条件,则将值附加到列表

如果满足条件,则将值附加到列表:

  1. 使用for循环遍历集合。
  2. 检查每个元素是否满足条件。
  3. 如果满足条件,则将值追加到列表中。
主程序
first_list = [] second_list = [-5, 7, 14, -2, 9, -29] for item in second_list: if item > 0: first_list.append(item) print(first_list) # 👉️ [7, 14, 9]

我们使用for循环来遍历列表。

在每次迭代中,我们检查当前数字是否大于0

如果满足条件,我们使用该list.append()方法将项目附加到另一个列表。

list.append
()
方法将一个项目添加到列表的末尾。

主程序
my_list = ['bobby', 'hadz'] my_list.append('com') print(my_list) # 👉️ ['bobby', 'hadz', 'com']

该方法None在改变原始列表时返回。

如果需要,您也可以使用elifand语句。else

主程序
first_list = [] second_list = [-5, 7, 14, -2, 9, -29] for item in second_list: if item > 0: first_list.append(item) elif item < 0: first_list.append(item * 2) else: first_list.append(1) print(first_list) # 👉️ [-10, 7, 14, -4, 9, -58]

elif语句检查该项目是否小于0else
如果该项目等于则运行该语句
0

如果您需要访问当前迭代的索引,请使用该
enumerate()函数。

主程序
first_list = [] second_list = [-5, 7, 14, -2, 9, -29] for index, item in enumerate(second_list): if item > 0: first_list.append(item * index) print(first_list) # 👉️ [7, 28, 36]

enumerate函数接受一个可迭代对象并返回一个包含元组的枚举对象,其中第一个元素是索引,第二个元素是相应的项目

主程序
my_list = ['bobby', 'hadz', 'com'] for index, item in enumerate(my_list): print(index, item) # 👉️ 0 bobby, 1 hadz, 2 com

如果在 Python 中不是 None,则追加到列表

仅当不是 None 时才将值附加到列表:

  1. 检查该值是否不是None.
  2. 如果满足条件,则使用该list.append()方法将值添加到列表中。
主程序
my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple']

我们首先检查该值是否不是 None

is当您需要检查变量是否存储值时,
您应该使用运算符
None

当我们使用 时is,我们检查对象的身份。

pep
8 风格指南
提到与单例的比较
None应该总是用
isor来完成is not,而不是
相等运算符

当您需要检查一个值是否等于另一个值时,请使用相等运算符(等于==和不等于),例如 !='abc' == 'abc'

如果值不是None,我们使用list.append()方法添加它。

主程序
my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple']

list.append
()
方法将一个项目添加到列表的末尾。

该方法None在改变原始列表时返回。

从列表中过滤掉 None 值

如果您有一个包含None值的列表并且您需要将它们过滤掉,
请使用列表理解

主程序
my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们检查当前项目是否存在None并返回结果。

新列表不包含任何None值。

列表理解不会改变原始列表,它会返回一个新列表。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: