2016-01-08 45 views
0

当我试图将一个列表与另一个列表进行比较时,我遇到了奇怪的事情。它可能不相关,但我目前正在编写python 2.7的代码。我不确定,但我几乎可以肯定的是,在Python 3.3和3.4列表比较并不像那样。奇数列表比较结果

>>> b = ['look', 'at', 'table'] 
>>> c = ['look', 'at'] 
>>> b[0:1] == c 
False 
>>> b[0:1] == c[0:1] 
True 

为什么第一个同情心的结果是“假”,但第二个结果给出“真”,但似乎他们都应该给“真”。

+0

'c [0:1]'给你从0号到1号的物品,这只是1个物品,而c有2个物品 –

回答

3

使用交互式解释:

$ python 
Python 2.7.6 (default, Mar 22 2014, 22:59:38) 
>>> b 
['look', 'at', 'table'] 
>>> c 
['look', 'at'] 
>>> b[0:1] 
['look'] 

所以cb[0:1]是不同的。

如果您在线查阅有关分片运算符的文档,可以找到关于此的更多信息。

+1

我怎么会错过这样一个业余的错误,我感到非常尴尬。 – frankot