为Python中的单词组添加前缀



如何使用.join函数为给定单词组中的每个单词添加前缀?

:param vocab_words:带前缀的词汇表单词列表。
:返回:STR的前缀后跟应用了
前缀的词汇表单词,以'::'分隔。

This function takes a `vocab_words` list and returns a string
with the prefix  and the words with prefix applied, separated
by ' :: '. "

我理解前缀在字符串中总是vocab_words[0]。

我试着

def make_word_groups(vocab_words):
return ' :: ' .join(vocab_words[0] for i in vocab_words[0:])

它不工作。我得到AssertionError。结果——大量的前缀和只有一些带前缀的单词。

试试这个:

def make_word_groups(vocab_words):
separator = ' :: '
prefix = vocab_words[0]
words = vocab_words[1:]
prefixed_words = [prefix + word for word in words]
result = prefix + separator + separator.join(prefixed_words)
return result

你可以试试:

def make_word_groups(vocab_words):
result_data = f'{vocab_words[0]} :: '
result_data += ' :: '.join([vocab_words[0] + word for word in vocab_words[1:]])
return result_data
input_data = ['auto', 'didactic', 'graph', 'mate', 'chrome', 'centric', 'complete', 'echolalia', 'encoder', 'biography']
print(make_word_groups(input_data))
input_data = ['en' ,'circle', 'fold', 'close','joy', 'lighten', 'tangle', 'able', 'code', 'culture']
print(make_word_groups(input_data))
input_data = ['pre', 'serve', 'dispose', 'position', 'requisite', 'digest', 'natal', 'addressed', 'adolescent', 'assumption', 'mature', 'compute']
print(make_word_groups(input_data))

输出:

auto :: autodidactic :: autograph :: automate :: autochrome :: autocentric :: autocomplete :: autoecholalia :: autoencoder :: autobiography
en :: encircle :: enfold :: enclose :: enjoy :: enlighten :: entangle :: enable :: encode :: enculture
pre :: preserve :: predispose :: preposition :: prerequisite :: predigest :: prenatal :: preaddressed :: preadolescent :: preassumption :: premature :: precompute

试试下面的代码:

def make_word_groups(vocab_words):
prefix = vocab_words[0]
vocabulary_words = vocab_words[1:]
for i in range(len(vocabulary_words)):
vocabulary_words[i] = prefix + vocabulary_words[i]
vocabulary_words = [prefix] + vocabulary_words
result = ' :: '.join(vocabulary_words)
return result

最新更新