如何大写列表中的特定元素(python)
我希望采取用户输入,并得到2d列表搜索;如何使用2d列表并获取输入?尝试以下方法:如何大写列表中的特定元素(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',
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()
我不确定它是否有效,我还没有测试过。让我知道这是否有用。编写代码的最简单方法是对每一行和每一列进行暴力搜索。我怀疑你们是否需要提高复杂模式匹配算法的效率。如果你在暴力方法上有漏洞,但仍然有问题,请随时发布你的尝试,我们可以提供帮助。哦!,现在我明白了。。。对不起,我没意识到。。。嗯,这是一个艰难的过程。。。这将需要几个小时的编码…我认为你需要做的第一件事是创建函数来重新排列列表中的字母,显示你可以找到一个单词的所有方式。例如,反向垂直、水平、反向水平等。。。请耐心地一个接一个地尝试这项重新部署。。。每一次欠费都是一个问题。