抱歉,如果这个标题没有意义。我的意思是这样的:我有一个列表[A, B, C],我想要这些元素的所有可能排列,以填充长度为 10 的列表。
[A, B, C] => [A, A, A, A, A, A, A, A, A, A]
=> [A, A, A, A, A, A, A, A, A, B]
...
=> [C, C, C, C, C, C, C, C, C, C]
Run Code Online (Sandbox Code Playgroud)
我一直在阅读itertools文档,但permutations在这种情况下该函数将无法工作,除非输出列表长度小于或等于 3。谢谢!
我正在研究一个问题,我想比较两个相等长度的字符串,char by char.对于字符不同的每个索引,我需要将计数器递增1.现在我有这个:
def compute(strand1, strand2)
raise ArgumentError, "Sequences are different lengths" unless strand1.length == strand2.length
mutations = 0
strand1.chars.each_with_index { |nucleotide, index| mutations += 1 if nucleotide != strand2[index] }
mutations
end
end
Run Code Online (Sandbox Code Playgroud)
我是这种语言的新手,但这对我来说非常非Ruby.是否有一个单行程可以巩固设置计数器,递增计数器然后返回计数器的过程?
我正在考虑选择所有不匹配的字符,然后获得结果数组的大小.但是,据我所知,没有select_with_index办法.我也在调查,inject但似乎无法弄清楚如何在这种情况下应用它.