首页 > 解决方案 > 更改列表python中多个项目的值

问题描述

我有一个嵌套列表:

Table=[['','','','',''],
       ['','','','',''],
       ['','','','',''],
       ['','','','',''],
       ['','','','',''],
       ['','','','','']]

我已经随机放置了一些值Table,现在我想在这些值的 2D 邻居中放置其他东西。例如:

Table=[['','','','',''],
       ['','','','',''],
       ['','','','',''],
       ['','','value','',''],
       ['','','','',''],
       ['','','','','']]

然后我想补充:

Table=[['','','','',''],
       ['','','','',''],
       ['','','1','',''],
       ['','1','value','1',''],
       ['','','1','',''],
       ['','','','','']]

下面是我所有的代码,我不知道为什么,但它会以任何其他格式接受它对不起:/

def add_nukes():
    pos=j.index('nuke')
    if "nuke" not in j[0]:j[pos+1]='1'
        if "nuke" not in j[-1]: 
            j[pos-1] = "1"
            board[pos][i-1]="1"
            board[i+1][pos]="1"

import random

size=150

if size%2==1:
    size+=1

board = [[" "]*size for i in range(size)] 
bombs = 25

all_cells = ["nuke"] * bombs + [" "] * (size - bombs) 

random.shuffle(all_cells)

board = [all_cells[i:i+10] for i in range(0, size, 10)]

count=0

for j in board:
    for i in range(len(j)):
        count+=1
        if "nuke" in j[i]:
            add_nukes()
        elif "nuke" in j[i]:
            add_nukes()

for item in board:
    print item 

标签: pythonpython-2.7list

解决方案


中的任何值Table都由其xy坐标唯一标识,即第 2 列(x == 1因为 0 索引)和第 3 行 ( y == 2) 中的元素是Table[y][x] == Table[2][1]

任何单元格的四个直接邻居是一个远离或一个远离A的单元格。如果是,那么邻居是。xAyAATable[y][x][Table[y - 1][x], Table[y + 1][x], Table[y, x - 1], Table[y, x + 1]]


推荐阅读