我有三个整数,我需要检查两个整数是否相等。我拥有的代码非常难看:
a = 5
b = 7
c = 5
if a == b or b == c or a == b:
pass
我想知道是否有比这种比较更好的选择。
答案 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);