''。join函数在一个元组中使用字符串。假设我们有“嵌套”字符串元组,如txt输入所示
这里有一些树状结构。有字根。例如,接缝以“ se”为根。他们还将“ se”与“性”和“七”作为根,但“ s”仅是其他词“汤”的根。 ram没有任何共享根。
_ _ _ r _ _ _ a _ _ _ m%
/
/ _ _ _ o _ _ _ u _ _ _ p
- /
\ / _ _ _a% _ _ _ m%
\_ _ _ s /
\ /
\_ _ _ e _ _ _ x%
\
\_ _ _ v _ _ _ e _ _ _ n%
#input
txt = "(ram%+s(e(a%m%+x%+ven%)+o%up%))"
#output
[ram, sea, seam, sex, seven, soup]
输出应为单词列表,单词的词根以'+'分隔。请牢记并根据以下两个条件进行排序
+ refers to start new word
% refers to the end of the word
希望您能回答我的意思,希望您能提供帮助。
答案 0 :(得分:0)
您对问题的解释方式(至少对我而言)没有任何意义,但这是我回答这个问题的机会:
您提供的输入格式虽然不错,但不能直接在python代码中使用。这是一种有效的方式,您可以表示在python输入中使用的表示法:
is_prime <- function(num) {
for (n in seq(2, num)) {
if (num %% n != 0) {
n <- n + 1
} else {
return(FALSE)
}
return(TRUE)
}
}
lcm <- function(num) {
exp <- 1
result <- 1
for (i in seq(2, num)) {
if (is_prime(i)) {
while (TRUE) {
if (i ^ exp > num) {
result <- result * i ^ (exp - 1)
break
}
exp <- exp + 1
}
exp <- 1
}
}
return(result)
}
lcm(20)
每个元组的形式如下:
# empty root node, use empty string
txt = ("", "ram", ("s", "oup", ("e", "am", "x", "ven")))
其中(root, additions)
是字符串,而root
是元组或字符串。
要将additions
解析为有效列表,您可以编写一个递归函数,如下所示:
txt
要使用def parse(x):
# return [x] if x is just a string.
if isinstance(x, str): return [x]
root, additions = x[0], x[1:]
words = []
for addition in additions:
# recursively 'flatten' all additions in current node
sub_additions = parse(addition)
# add the root word to each sub_addition
sub_additions = [root + addition for addition in sub_additions]
# add the new sub additions to the list
words = words + sub_additions
return words
,只需将其命名为:例如parse
。
注意事项: