如何在列表列表中查找字符?
How to find a char in a list of lists?
我正在编写创建填字游戏的代码,我想要在 table 中查找特定字符的代码。
因此,例如,如果棋盘包含单词 'car' 而我正在寻找字符 'a',它将 return 行和列的值。
这是我用来打印电路板和第一个字的代码。
board = [[' '] * 20 for i in range(20)]
def printboard(board):
columns = '01234567890123456789'
rows = '_' * 20
print(' ' + columns)
print(' ' + rows)
for i in range(20):
s = ''.join(board[i])
print('|' + s +'|' + str(i))
print(' ' + rows)
print(' ' + columns)
def addFirstWord(board, word):
n = len(word)
if n > 20:
return False
row = 10
col = (20 - n) // 2
board[row][col:col+n] = word
return True
addFirstWord(board, 'car')
printboard(board)
我想我必须编写一个循环来检查面板中的每个索引,但我不确定如何编写它。谢谢
这应该有效:
def findCharacter(board, char):
# Loop through all rows and columns
for i, c in enumerate(board):
for j, r in enumerate(c):
# If we find the character, return it
if r == char:
return j, i
例如:
>>> board = [[' '] * 20 for i in range(20)]
>>> addFirstWord(board, 'car')
>>> findCharacter(board, 'c')
(8, 10)
我正在编写创建填字游戏的代码,我想要在 table 中查找特定字符的代码。 因此,例如,如果棋盘包含单词 'car' 而我正在寻找字符 'a',它将 return 行和列的值。 这是我用来打印电路板和第一个字的代码。
board = [[' '] * 20 for i in range(20)]
def printboard(board):
columns = '01234567890123456789'
rows = '_' * 20
print(' ' + columns)
print(' ' + rows)
for i in range(20):
s = ''.join(board[i])
print('|' + s +'|' + str(i))
print(' ' + rows)
print(' ' + columns)
def addFirstWord(board, word):
n = len(word)
if n > 20:
return False
row = 10
col = (20 - n) // 2
board[row][col:col+n] = word
return True
addFirstWord(board, 'car')
printboard(board)
我想我必须编写一个循环来检查面板中的每个索引,但我不确定如何编写它。谢谢
这应该有效:
def findCharacter(board, char):
# Loop through all rows and columns
for i, c in enumerate(board):
for j, r in enumerate(c):
# If we find the character, return it
if r == char:
return j, i
例如:
>>> board = [[' '] * 20 for i in range(20)]
>>> addFirstWord(board, 'car')
>>> findCharacter(board, 'c')
(8, 10)