2012-11-11 23 views
0

Darius Bacon's code,上線11和12,有下面的代碼:解釋Python和轉換成Java

prefixes = set(word[:i] for word in words for i in range(2, len(word)+1)) 

我想他的節目轉換成Java和我與這個有困難一。

這是幹什麼的?

+4

你爲什麼不與列表嘗試的話? – mata

+0

那麼你有什麼嘗試?除此之外,將代碼從一種語言翻譯成另一種語言總是一個可怕的想法。它通常意味着您最終得到的代碼不會使用該語言的功能並且行爲異常。採取代碼所做的事情,並以您想要執行的語言來完成,而不是試圖翻譯代碼本身。 –

+0

對不起,我沒有提出任何其他的詞;)當然,它不是與大流士的程序1:1,因此不翻譯。 – MikkoP

回答

6

擴大列表理解:

prefixes = set() 
for word in words: 
    for i in range(2, len(word)+1) 
     prefixes.add(word[:i]) 

word[:i]word直到但不包括指數i

+0

感謝您的支持!這澄清了代碼,我設法用Java代碼:) – MikkoP

3

在Java中

試試這個
Set<String> prefixes = new HashSet<String>(); 
for(String word:words){ 
    for(int i=1;i<word.length;i++){ 
    prefixes.add(word.substring(0,i)); 
    } 
} 
+0

有一個'我'缺少你的代碼,並有錯別字... –

+0

感謝您的編輯:) – Ankur