2013-11-14 68 views
0

我是python的新手,並且在比較兩個元素時遇到了問題。一個元素來自我在文本文件中使用readlines()方法創建的數組,另一個元素僅僅是一個賦予值的變量。我有一些代碼,看起來像語法:python比較

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

您正在比較字符串和整數。將一個或另一個:

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