【问题标题】:Swap an item in list of list in python?在python列表中交换一个项目?
【发布时间】:2014-08-02 01:09:51
【问题描述】:

鉴于上面的列表难题,我需要能够将 X 的位置交换到左、右、上或下。问题是,我如何将它与列表拼图中的旁边或其他列表中的项目交换?

puzzle = [[' 1', ' 2', ' 3', ' 4'],
          [' 5', ' 6', ' 7', ' 8'],
          [' 9', '10', '11', '12'],
          ['13', '14', '15', ' X']]

【问题讨论】:

    标签: python list python-3.x swap


    【解决方案1】:
    #generic swap puzzle[a][b] with puzzle[c][d]
    puzzle[a][b], puzzle[c][d] = puzzle[c][d], puzzle[a][b]
    

    【讨论】:

    • 但是X的位置一直在变化。 X 旁边的项目的位置也在不断变化。我如何跟踪更改,并且每当我调用我的方法时,它都会向左更改?
    • 你知道你要交换的物品的位置吗?或者至少是物品的价值?
    • 好吧,我知道 X 的初始位置是 [3][3],我想用 15 交换它在 [3][2] 的位置。当我调用交换方法时,它使用你刚才提到的通用交换正确交换位置。但在那之后,我想用 14 交换 X。但是 X 的位置不同。每当我调用该方法时,如何将 X 与 14、13 交换?
    • 跟踪 X 的当前位置。如果你知道它任何时候,你可以一直跟踪它。因此,如果将 [3][3] 处的 X 与 [3][2] 处的 15 交换,则可以存储 3,2。如何以及在哪里?取决于你的程序。可能是一个全局变量或调用这些交换的包装函数可以跟踪它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 2012-04-23
    • 2012-12-15
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多