我是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?是因为它们是不同的类型,还是类似的东西?谢谢!
答案 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