2013-06-12 125 views
0

我有一個Wordnet文本條目,我試圖將變量分配給。我已經分配了任何只發生一次的變量,但在某些文本行中可能會有多個單詞。這導致,因爲我不知道如何分配,使文本單詞的數量等於分配給WORD1變量,數量等單詞2在Python中循環中分配變量

這裏是我讀

行的一個樣本有問題

09824747 18 n 02 archer 0 bowman 0 003 @ 09640897 n 0000〜10290474 n 0000〜i 10718145 n 0000 |一個使用弓的專家 和箭頭

在這種情況下,我想叫word1 = archer和word2 = bowman。

我可以用這

f = open("wordnetSample.txt", "r") 
for line in f: 
L = line.split() 
word = [L[4:4 + 2 * int(L[3]):2]] 

,但它只會把話說在列表中,並沒有使用他們的變量名,我可以進一步上使用。

我也想知道我如何去將它們插入到我以後的代碼,這可能看起來榜單:

print('the words in this synset are '+word(i)+','+word(i+1)+','+word(i+n)+') 

回答

2

我完全不明白你做什麼,但上面的表達式將把這些單詞存儲在一個列表中,它不是一本字典。 實際上,你可以:

print('the words in this synset are ' + word[0] + ',' + word[1]) 

請注意,你需要使用[],而不是()爲你寫的上方。 更優雅的將是如下:

print ("the words in this synset are {0}".format(", ".join(word))) 

因爲有數目不詳的詞作品。

+0

謝謝,我編輯了我的問題,您已經準確地回答了我的要求! – Johnnerz

1

我無法想象爲什麼你認爲你想分配給他們個人的名字。如果元素數量可變,請將它們保存在列表中:這正是列表的用途。然後您可以加入元素並一次打印:

print('the words in this synset are: ' + ','.join(words))