语法:python中的比较

时间:2013-11-14 14:53:53

标签: python syntax comparison

我是python的新手,在比较两个元素时遇到了麻烦。一个元素来自我使用文本文件上的readlines()方法创建的数组,另一个元素只是我赋值的变量。我的代码看起来像

f=open('graph.txt')
graph=f.readlines()
f.close()

node=0


print graph[0][0]
print node
print graph[0][0]==node

并打印

0
0
False

当两个项目打印相同的值时,为什么double等于给出false?是因为它们是不同的类型,还是类似的东西?谢谢!

1 个答案:

答案 0 :(得分:4)

您正在比较字符串和整数。转换一个或另一个:

graph[0][0] == str(node)

int(graph[0][0]) == node

或使node字符串开头:

node = '0'

请注意,'0'0(字符串和整数值)打印相同:

>>> print '0'
0
>>> print 0
0

使用repr()清除差异:

>>> print repr('0')
'0'
>>> print repr(0)
0