Python 如何在列表列表中查找字符?
我正在编写创建纵横字谜的代码,我需要在表中查找特定字符的代码。 例如,如果电路板包含单词“car”,而我正在查找字符“a”,它将返回行和列的值。 这是我用来打印电路板和第一个单词的代码Python 如何在列表列表中查找字符?,python,python-3.x,list,for-loop,nested-lists,Python,Python 3.x,List,For Loop,Nested Lists,我正在编写创建纵横字谜的代码,我需要在表中查找特定字符的代码。 例如,如果电路板包含单词“car”,而我正在查找字符“a”,它将返回行和列的值。 这是我用来打印电路板和第一个单词的代码 board = [[' '] * 20 for i in range(20)] def printboard(board): columns = '01234567890123456789' rows = '_' * 20 print(' ' + columns) print('
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)
作为补充说明,使用矩阵而不是列表可能更好。应该更简单