繁体   English   中英

行和列到列表列表的最简单方法是什么?

[英]What would be the easiest way to rows and columns to list of list?

我目前有一个代表棋盘的简单列表,我将如何使用行和列来代表棋盘上的棋子?

Board= [ ['bR','bKn','bB','bQ','bK','bB','bKn','bR'],
       ['bP','bP','bP','bP','bP','bP',' bP',' bP'],
       ['_ ','_ ','_ ','_ ','_ ','_ ',' _ ',' _ '],
       ['_ ','_ ','_ ','_ ','_ ','_ ',' _ ',' _ '],
       ['_ ','_ ','_ ','_ ','_ ','_ ',' _ ',' _ '],
       ['_ ','_ ','_ ','_ ','_ ','_ ',' _ ',' _ '],
       ['wP','wP','wP','wP','wP','wP',' wP',' wP'],
       ['wR','wKn','wB','wQ','wK','wB','wKn','wR'] ]

例如:

   while True:
        if [][] in Board is == 'wP': #fix

我可以使用什么来搜索整个董事会以找到“wP”而不是特定索引?

任何帮助将非常感激!

你的问题很不清楚。 如果你有行和列,你可以做Board[row][column] == 'wP' 这将告诉您该单元格是否等于该字符串。 如果你想说“第一个等于字符串 X 的位置在哪里”:

def find_first_cell(cell_val):
    for row_idx, row in enumerate(Board):
        for col_idx, cell in enumerate(row):
            if cell == cell_val:
                return row_idx, col_idx
    return -1, -1  # or you could raise an exception

如果您想利用内置列表操作,您还可以将 Board 存储为单个列表,并使用索引数学来计算rowcol内容在单个列表中的位置。 然后可以使用'wP' in Board的内置列表方法(如.index'wP' in Board

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM