【问题标题】:Diagonal of a nested list in Python 3Python 3 中嵌套列表的对角线
【发布时间】:2013-04-01 02:47:02
【问题描述】:

我在一个列表中有几个列表,这些列表形成了一个三分球游戏:

list = [
        ['X', 'O', 'O'], 
        ['O', 'X', 'O'], 
        [' ', 'X', ' ']
       ]

我需要编写一个函数,从左上角到右下角,然后从右上角到左下角返回游戏的对角线,因此输出将是:

diags = (['X', 'X', ' '],['O', 'X', ' '])

我尝试了各种嵌套 for 循环的组合,但似乎无法理解它。

【问题讨论】:

标签: python list nested


【解决方案1】:
nw_to_se = [your_list[i][i] for i in range(3)]
ne_to_sw = [your_list[i][2-i] for i in range(3)]
diags = (nw_to_se, ne_to_sw)

除了[2-i],您还可以使用[-i-1],它可以缩放到任何大小的正方形。

【讨论】:

  • 我不得不将 ne_to_sw = [your_list[2-i][i] for i in range(3)] 更改为 ne_to_sw = [your_list[i][2-i] for i in range( 3)] 使其顺序正确。不过非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 2018-03-08
  • 2018-03-17
  • 2018-01-08
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多