【问题标题】:How to find a char in a list of lists?如何在列表列表中查找字符?
【发布时间】:2020-03-16 06:24:35
【问题描述】:

我正在编写创建填字游戏的代码,并且我想要在表格中找到特定字符的代码。 因此,例如,如果板上包含单词“car”并且我正在寻找字符“a”,它将返回行和列的值。 这是我用来打印板子和第一个字的代码。

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)

我想我必须编写一个循环来检查板上的每个索引,但我不知道如何编写它。谢谢

【问题讨论】:

  • 附带说明,使用矩阵而不是列表列表可能会更好。应该更简单

标签: python python-3.x list for-loop nested-lists


【解决方案1】:

这应该可行:

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 2021-04-21
    相关资源
    最近更新 更多