下面是一个比较*args
中列表元素的代码示例:
def compare_lists(*args):
# 检查是否至少有两个列表
if len(args) < 2:
print("至少需要两个列表进行比较")
return
# 获取第一个列表作为比较基准
base_list = args[0]
for i in range(1, len(args)):
current_list = args[i]
# 检查两个列表的长度是否相同
if len(base_list) != len(current_list):
print("列表长度不同,无法进行比较")
return
# 逐个比较元素
for j in range(len(base_list)):
if base_list[j] != current_list[j]:
print("第", i+1, "个列表与基准列表不同")
break
else:
print("第", i+1, "个列表与基准列表相同")
# 测试
compare_lists([1, 2, 3], [1, 2, 3], [4, 5, 6]) # 第 3 个列表与基准列表不同
compare_lists([1, 2, 3], [1, 2, 3], [1, 2, 3]) # 第 3 个列表与基准列表相同
compare_lists([1, 2, 3], [1, 2], [1, 2, 3]) # 列表长度不同,无法进行比较
compare_lists([1, 2, 3]) # 至少需要两个列表进行比较
在上述代码中,我们定义了一个名为compare_lists
的函数,它接受任意数量的列表作为参数(使用*args
参数),并按顺序比较每个列表与第一个列表的元素。
首先,我们检查传入的参数数量是否大于等于2,如果小于2则打印错误信息并返回。然后,我们将第一个列表作为比较基准存储在base_list
变量中。
接下来,我们使用一个嵌套的循环来逐个比较每个列表与基准列表的元素。首先,我们检查两个列表的长度是否相同,如果不同则打印错误信息并返回。
然后,我们使用一个循环来遍历列表的索引。在循环中,我们比较两个列表相同索引位置的元素是否相等。如果有任何一个元素不相等,则打印错误信息并中断内部循环。如果内部循环能够顺利完成,即没有发现不同的元素,则打印相同的信息。
最后,我们可以测试compare_lists
函数,传入不同的列表作为参数进行比较。在示例中,我们对三个列表进行了比较,并打印了不同的结果。