从三个选择中检查两个变量是否相等

时间:2019-09-18 19:40:51

标签: python

我有三个整数,我需要检查两个整数是否相等。我拥有的代码非常难看:

a = 5
b = 7
c = 5
if a == b or b == c or a == b:
    pass

我想知道是否有比这种比较更好的选择。

2 个答案:

答案 0 :(得分:5)

您可以构建一个set并检查结果长度:

a = 5
b = 7
c = 5

if len({a,b,c}) < 3:
    pass

由于您在实际情况中提到的变量是列表,因此可以将它们转换为可哈希的tuples,从而可以从中构建一个集合。因此,您可以这样做:

a = [5, 2]
b = [7, 2]
c = [5, 2]

if len(set(map(tuple, [a,b,c]))) < 3:
    pass

答案 1 :(得分:2)

由于您有列表,因此无法直接使用列表。如果是这样,您将得到一个错误:

  

TypeError:不可散列的类型:“列表”

将列表转换为元组,然后使用以下命令:

signal Mem_Addr : std_logic_vector(7 downto 0);