在列表对象上使用方法

问题描述

我有过一次野心,但没有找到满意的答案。在 JavaScript 中,可以简单地将方法添加到数组 alla:

const makeGrid = (size) => {
 let grid = [];
 for (let i = 0; i < size; i++) {
  let row = new Array(size).fill(0);
  grid.push(row);
 }

 grid.toggleChunkPlaced = (x,y) => {
  grid[y][x] === 0 ? (grid[y][x] = 1) : (grid[y][x] = 0);
 };
return grid
};

但是我不确定是否可以(或推荐)在 Python 中进行 - 我最好的猜测是:

def make_grid(size):
 grid = []
 for i in size:
    row = [0]*size
    grid.append(row)

 grid.toggle_chunk_placed = lambda x,y: grid[y][x] = 1 if grid[y][x] == 0 else grid[y][x] = 0
 return grid

解决方法

没有。你不能用列表来做到这一点。如果您真的非常希望它成为可能,这是可能的,但我认为情况并非如此。如果你确实想要它,我将不得不写一个可能只会得到downvotes ?的答案。我的意思是,有更好的方法。 – Diptangsu Goswami