与此 Python 等效的 C# 是什么?

从这里开始,与此代码等效的 C# 是什么?我认为**是指数,但我不知道是什么[i]

def sequence(v, p, column):

    subsequence = []

    for i in range(v):

        subsequence += [i] * v**(p - column)

    return subsequence * v**(column - 1)


红颜莎娜
浏览 80回答 1
1回答

慕桂英4014372

人们可以这样做:public static List<int> sequence(int v, int p, int column) {&nbsp; var subsequence = new List<int>();&nbsp; for (int i = 0; i < v; i++) {&nbsp; &nbsp; int limit = (int)Math.Pow(v, p - column);&nbsp; &nbsp; for (int j = 0; j < limit; j++)&nbsp; &nbsp; &nbsp; subsequence.Add(i);&nbsp; }&nbsp; var true_sequence = new List<int>();&nbsp; for (int k = 0; k < (int)Math.Pow(v, column - 1); k++)&nbsp; &nbsp; true_sequence.AddRange(subsequence);&nbsp; return true_sequence;}[i] * <number>是“重复此列表<number>次数并将结果放入新列表”的符号。[i]只是一个仅包含 number 的列表i。编辑:解释for i in range(v):可以很好地翻译为:for (int i = 0; i < v; i++) {subsequence += [i] * v**(p - column)这有点复杂,但它本质上说的是“取 v,取它的 (p - 列) 次方,然后将该数字添加到子i序列中”。这很接近:int limit = Math.Pow(v, p - column);for (int j = 0; j < limit; j++)&nbsp; subsequence.Add(i);return subsequence * v**(column - 1)现在这意味着“取 v 的(列 - 1)次方,并返回一个包含许多子序列实例的列表。” 这就是函数中其余代码的作用:获取 Math.Pow(v, column - 1) 子序列,将它们全部添加到列表中,然后返回所述列表。
打开App,查看更多内容
随时随地看视频慕课网APP