解释Python并转换为Java

时间:2012-11-11 17:41:28

标签: java python list

Darius Bacon's code中,在第11行和第12行,有以下代码:

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

我正在尝试将他的程序翻译成Java,但我遇到了这个问题。

这是做什么的?

2 个答案:

答案 0 :(得分:6)

扩展列表理解:

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

word[:i]最高为word但不包括索引i

答案 1 :(得分: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));
  }
}