0

我是 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

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

4

1 回答 1

4

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

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

或者

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

或创建node一个字符串开头:

node = '0'

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

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

用于repr()明确区别:

>>> print repr('0')
'0'
>>> print repr(0)
0
于 2013-11-14T14:54:35.353 回答