如何大写列表中的特定元素(python)

如何大写列表中的特定元素(python),python,list,Python,List,我希望采取用户输入,并得到2d列表搜索;如何使用2d列表并获取输入?尝试以下方法: letters = [['l', 'd', 'l', 'o', 'h', 'p'], ['i', 't', 'i', 'f', 'w', 'f'], ['g', 'n', 'r', 'k', 'q', 'u'], ['h', 'g', 'u', 'a', 'l', 'l'], ['t', 'c', 'v', 'g', 't', 'l'], ['d',

我希望采取用户输入,并得到2d列表搜索;如何使用2d列表并获取输入?

尝试以下方法:

letters = [['l', 'd', 'l', 'o', 'h', 'p'],  
    ['i', 't', 'i', 'f', 'w', 'f'],   
    ['g', 'n', 'r', 'k', 'q', 'u'],  
    ['h', 'g', 'u', 'a', 'l', 'l'],  
    ['t', 'c', 'v', 'g', 't', 'l'],   
    ['d', 'r', 'a', 'w', 'c', 's']]

words = ['draw', 'full', 'hold', 'laugh', 'light', 'start', 'all', 'kid']

word = words[0]
splitted_word = list(word)
for i in range(len(letters)):
    if set(splitted_word).difference(set(letters[i])) == set():
        letters[i] = [x.upper() if  x in splitted_word else x for x in letters[i]]

print(letters)

只需将
单词
变量替换为您要查找的变量。

也许您可以这样做:

for i in matrix:
    line = ''.join(i)
    x = line.find(word) #word is the word we need to search eg. draw
    if x != -1:
        i[x:len(word)].upper()

我不确定它是否有效,我还没有测试过。让我知道这是否有用。

编写代码的最简单方法是对每一行和每一列进行暴力搜索。我怀疑你们是否需要提高复杂模式匹配算法的效率。如果你在暴力方法上有漏洞,但仍然有问题,请随时发布你的尝试,我们可以提供帮助。哦!,现在我明白了。。。对不起,我没意识到。。。嗯,这是一个艰难的过程。。。这将需要几个小时的编码…我认为你需要做的第一件事是创建函数来重新排列列表中的字母,显示你可以找到一个单词的所有方式。例如,反向垂直、水平、反向水平等。。。请耐心地一个接一个地尝试这项重新部署。。。每一次欠费都是一个问题。