0

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

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

我正在尝试将他的程序翻译成 Java,但我遇到了困难。

这是做什么的?

4

2 回答 2

6

扩展列表理解:

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

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

于 2012-11-11T17:44:54.813 回答
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));
  }
}
于 2012-11-11T17:48:09.287 回答