小能豆

检查 python 列表中某个数字是否已经存在

py

我正在编写一个 Python 程序,其中我将把数字添加到列表中,但我不希望列表中的数字重复。那么我如何在执行此操作之前检查数字是否已在列表中list.append()


阅读 17

收藏
2024-11-10

共1个答案

小能豆

为了在将数字添加到列表中之前检查它是否已经存在,可以在调用 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 内部使用哈希查找。例如:

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)

这种方法对于大规模数据处理更有效。

2024-11-10