目录
Append value to list if not already present using Python
如果使用 Python 不存在,则将值附加到列表
将值附加到列表(如果不存在):
- 使用
not in
运算符检查值是否不在列表中。 list.append()
如果值不存在,请使用该方法将值追加到列表中。- 该列表不会包含任何重复值。
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
计算为,否则计算为。True
x
l
False
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 中满足条件,则将值附加到列表
如果满足条件,则将值附加到列表:
- 使用
for
循环遍历集合。 - 检查每个元素是否满足条件。
- 如果满足条件,则将值追加到列表中。
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
在改变原始列表时返回。
如果需要,您也可以使用elif
and语句。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
语句检查该项目是否小于0
,else
如果该项目等于则运行该语句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 时才将值附加到列表:
- 检查该值是否不是
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']
我们首先检查该值是否不是 None。
is
当您需要检查变量是否存储值时,
您应该使用运算符None
。
当我们使用 时is
,我们检查对象的身份。
pep
8 风格指南
提到与单例的比较None
应该总是用
is
or来完成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
值。
列表理解不会改变原始列表,它会返回一个新列表。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: