gpt4 book ai didi

python - 在 Python 中,找出两个有序列表之间的差异数

转载 作者:太空狗 更新时间:2023-10-29 20:39:52 24 4
gpt4 key购买 nike

我想比较两个相同长度的列表

a = [1, 3, 5, 7, 9]
b = [1, 2, 5, 7, 3]

并找出差异数 n,在本例中为 n = 2,如果长度不相等,也会返回错误。执行此操作的 pythonic 方式是什么?

最佳答案

最简单的方法是使用 the sum() built-in和一个 generator expression :

def differences(a, b):
if len(a) != len(b):
raise ValueError("Lists of different length.")
return sum(i != j for i, j in zip(a, b))

我们使用 zip() 一起遍历列表然后比较它们。由于 True == 1False == 0,我们只是将其求和以获得差异数。另一种选择是使用生成器表达式的条件部分:

sum(1 for i, j in zip(a, b) if i != j)

我真的不能说我觉得一个比另一个更具可读性,并且怀疑会有性能差异。

关于python - 在 Python 中,找出两个有序列表之间的差异数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14914615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com