我在ipython中尝试了以下程序
In [1]: a = (1,2,3,4,5,6,7)
In [2]: b = [1,2,3,4,5,6,7]
In [3]: a
Out[3]: (1, 2, 3, 4, 5, 6, 7)
In [4]: b
Out[4]: [1, 2, 3, 4, 5, 6, 7]
In [5]: a == b
Out[5]: False
在上述计划中,a
和b
之间的区别是什么?为什么a==b
返回False?
答案 0 :(得分:2)
您的a
是tuple,使用圆括号()
,而b
是list,使用方括号[]
,因此它们不是相同的数据类型,并且比较失败,尽管它们包含相同的项目:
>>> a = (1,2,3,4,5,6,7) # round brackets declare a tuple
>>> b = [1,2,3,4,5,6,7] # square brackets declare a list
>>> type(a)
<type 'tuple'>
>>> type(b)
<type 'list'>
>>> a == b
False
对于比较,您需要先将它们设为相同类型,然后才能比较内容:
>>> list(a) == b
True
>>> a == tuple(b)
True
>>> c = [1,2,3]
>>> b == c
False
答案 1 :(得分:2)
a和b有不同的类型。相反,试试这些:
a == tuple(b)
list(a) == b
答案 2 :(得分:1)
您不是在比较两个列表,而是一个包含元组的列表。
In [1]: a = (1,2,3,4,5,6,7)
In [2]: b = [1,2,3,4,5,6,7]
In [3]: type(a)
Out[3]: tuple
In [4]: type(b)
Out[4]: list
答案 3 :(得分:0)