【问题标题】:Searching This Array搜索此数组
【发布时间】:2015-03-19 11:08:59
【问题描述】:

我正在尝试编写一个程序,该程序通过一个数组并读取该数组直到它达到 -1,例如:

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

这应该返回 4,因为它需要 4 个步骤才能到达 A[2],其中包含数字 -1

请帮忙

【问题讨论】:

  • 按照你的逻辑,它不会返回 3 吗? -1 在第三个数组元素中遇到。
  • 你应该使用数组还是列表?
  • @JoshEngelsma list=array
  • @BallPython 不在 python 中...listarray 不同。不过,OP 很可能意味着list,因为初学者可以互换使用它们是很常见的。
  • @jme 实际上是一样的。 array 仅允许您使用此 C 库中非常具体的功能。

标签: python arrays python-2.7 sorting arraylist


【解决方案1】:

我想你的意思是3。只需三步即可到达-1

>>> A = [1,3,-1,3,4]
>>> A.index(-1)+1
3

你可以使用enumerate函数。

>>> for x,y in enumerate(A):
        if y ==  -1:
            print(x+1)


3

【讨论】:

    【解决方案2】:

    我很久没有涉足python了,但基本上你正在寻找一种遍历数组的方法。 (原谅语法)

    A = [1, 3, -1, 3, 4]
    for i in range(len(A)):
        if A[i] == -1:
            print i + 1
            break
    

    【讨论】:

    • 谢谢 Josh,正如我所说,我有一段时间没玩过 python了。
    • 不要使用 range(len(array)),在 python 中我们已经枚举了。
    【解决方案3】:

    首先它需要 3 个步骤而不是 4 个。最好的方法是使用 enumerate()

    a=[1,3,-1,3,4]
    for index,value in enumerate(a,1):
        if value==-1:
            print (index)
    

    在这里enumerate(a,1) 如您所见,我们可以决定从哪个数字开始。我们写了1,因为我们从1开始计数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2011-09-12
      • 2015-07-02
      相关资源
      最近更新 更多