【问题标题】:Python List in List trouble列表麻烦中的 Python 列表
【发布时间】:2020-12-23 21:13:51
【问题描述】:

在开始告诉我的问题之前对不起我的语法和英语不是很好。我是一名 Python 学习者。今天我正在做一个项目,但我遇到了麻烦。我正在尝试循环。

coordinates = [[1,2],[2,3],[3,5],[5,6],[7,7`],[1,2]]

这是我的清单,我正在尝试创建一个循环。该循环将从彼此中减去每个第一个值,并且每隔一秒到几秒然后打印。让我更简单地解释我的麻烦。 [[x,y][x1,y1][x2,y2] 我需要减去 x1-x,然后在 x2-x1 之后打印结果,然后打印结果,但同时 y1-y 打印然后打印,所以控制台输出应该是这样的;

1,1
1,2
2,1...

我试过的方法

while True:
for x,y in coordinates:
    x = x - y
    print(x)

这不起作用,因为它将 x 值减去 y 值。我知道这太错误了。

我在互联网上进行了研究,但我不太了解这个主题。 我正在寻求帮助。谢谢大家。

【问题讨论】:

    标签: python python-3.x list python-2.7


    【解决方案1】:

    一个简单朴素的实现

    def pr(arr):
        i = 1
        while i < len(arr):
            (x,y) = arr[i]
            (a,b) = arr[i-1]
            print(x-a, y-b)
            i += 1
    
    
    if __name__ == '__main__':
        coordinates = [[1,2],[2,3],[3,5],[5,6],[7,7],[1,2]]
        pr(coordinates)
    

    O/P:

    1 1
    1 2
    2 1
    2 1
    -6 -5
    

    【讨论】:

      【解决方案2】:

      这与您的原始代码非常相似:

      coordinates = [[1,2],[2,3],[3,5],[5,6],[7,7`],[1,2]]
      x_prev = None
      for x, y in coordinates:
          if x_prev is not None:
              print('{}, {}'.format(x - x_prev, y - y_prev)
          x_prev, y_prev = x, y
      

      如果你想概括一下,对于不同长度的坐标,你可以这样做:

      coordinates = [[1,2],[2,3],[3,5],[5,6],[7,7`],[1,2]]
      prev = None
      for c in coordinates:
          if prev is not None:
              print(', '.join(c2-c1 for c1, c2 in zip(prev, c)))
          prev = c
      

      【讨论】:

        【解决方案3】:

        您需要使用range 函数迭代list,以便将当前和下一个放在一起。所以你可以在循环中做减法。

        coordinates = [[1,2],[2,3],[3,5],[5,6],[7,7],[1,2]]
        for i in range(len(coordinates) - 1):
            print(coordinates[i+1][0] - coordinates[i][0], coordinates[i+1][1] - coordinates[i][1])
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-06-26
          • 1970-01-01
          • 2012-02-24
          • 2020-07-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多