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/

相关文章:

python - 计算对象列表中与属性值方面相似的对象数

python - 从 Pandas 数据框父子表中获取父项的所有后代

python - 从 pandas df 列的预设字符串列表中拆分字符串

python - 将键/值对列表(或其他迭代器)添加到dict的Python方式是什么?

python - 在python中将字符串转换为日期时间对象

python - 如何告诉 Scrapy 只抓取 Xpath 中的链接?

c# - 为什么 IList<>.Reverse() 不像 List<>().Reverse 那样工作

c# - C# 中的 ArrayList 与 List<>

python - 使用python请求获取标签的父元素-HTML

python - pyQt QWidget 'flicker' 调整大小和重绘