python - 在Python中循环不按顺序的列表

标签 python list python-2.7 loops

我对编程非常陌生,所以请耐心等待...我一直在学习 Python,我刚刚做了一个评估,其中涉及使用当前值作为循环时要转到的下一个索引值来循环遍历列表。这大致就是问题所在:

您有一个由正整数和负整数组成的零索引数组长度 N。编写一个函数,循环遍历列表,创建一个新列表,并返回新列表的长度。在循环列表时,您可以使用当前值作为要转到的下一个索引值。当 A[i] = -1 时停止循环

例如:

A[0] = 1
A[1] = 4
A[2] = -1
A[3] = 3
A[4] = 2 

这将创建:

newlist = [1, 4, 2, -1]

len(newlist) = 4

虽然时间有限,但我没能完成,但这就是我想出的办法。任何批评表示赞赏。就像我说的,我是新人,正在努力学习。与此同时,我会继续寻找。提前致谢!

def sol(A):
    i = 0
    newlist = []
    for A[i] in range(len(A)):
        e = A[i]
        newlist.append(e)
        i == e
        if A[i] == -1:
            return len(newlist)

最佳答案

如果您希望编写最少的代码行,这可能是最简单的方法。

A = [1,4,-1,3,2]
B = []

n = 0

while A[n] != -1:
    B.append(A[n])
    n = A[n]

B.append(-1)

print(len(B))

关于python - 在Python中循环不按顺序的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27769472/

相关文章:

c# - 使用 LINQ 使用特定范围的数字填充列表

python - 在 sklearn 中将 Pipeline 与自定义类一起使用

python - 使用新格式字符串记录变量数据

python - 不转换超过 10 秒的音频 (wav) 文件

python - OpenCV可以安装在Mac Mountain Lion的python virtualenv中吗

python - 在 Matplotlib 中自动重新缩放 ylim 和 xlim

python - 如果字符串的长度小于 Python 2.7 中具有最大长度的字符串的长度,如何从字符串列表中删除该字符串?

python - 一个单词的最后一个字母必须与另一个单词的第一个字母相同的游戏代码不起作用

c# - 这个 List<string> ListName 作为参数?

python - 如何将 Python 的操作系统退出代码转换为其字符串值