我正在编写一个 Python 程序,其中我将把数字添加到列表中,但我不希望列表中的数字重复。那么我如何在执行此操作之前检查数字是否已在列表中list.append()?
list.append()
为了在将数字添加到列表中之前检查它是否已经存在,可以在调用 list.append() 之前使用条件检查。例如:
my_list = [] def add_unique_number(number): if number not in my_list: # 检查数字是否已存在 my_list.append(number) # 仅在数字不存在时添加 print(f"{number} 添加成功!") else: print(f"{number} 已存在于列表中。") # 测试 add_unique_number(5) add_unique_number(10) add_unique_number(5) # 尝试添加重复数字 print(my_list)
这样,当你尝试添加重复数字时,程序会输出“已存在于列表中”。如果数字不在列表中,它就会被添加进去。
这个方法在列表较小时效果很好,但如果列表非常大,not in 操作会变得较慢。对于更高效的处理,可以考虑用 set 数据结构,它可以快速判断是否包含某个元素,因为 set 内部使用哈希查找。例如:
not in
set
my_set = set() def add_unique_number(number): if number not in my_set: my_set.add(number) print(f"{number} 添加成功!") else: print(f"{number} 已存在于集合中。") # 测试 add_unique_number(5) add_unique_number(10) add_unique_number(5) print(my_set)
这种方法对于大规模数据处理更有效。