我正在做一个连续的字母检查,我遇到了这个问题,它应该返回键盘上所有的三个字母组合,但是,我不明白我的最后一部分做错了什么,我怎么能让它工作?我只能让它为dict中的key()
而不是items()
打印3个字母组合。我要查找的结果是“items()”中所有可能的3个字母组合都打印在一个列表中。你知道吗
keyboard = {'line1':'qwertyuiop',
'line2':'asdfghjkl',
'line3':'zxcvbnm'}
def consequ(key):
a = []
for each_key in key:
for i in range(len(key[each_key])-2):
a.append(each_key[i:i+3])
return a
我通过编写
consequ(keyboard)
输出由以下代码给出:
['lin'、'ine'、'ne1'、'e1'、'1'、''、'、'、'、'、'、'lin'、'ine'、'ne2'、'e2'、'2'、'、'、'、'、'、'lin'、'ine'、'ne3'、'e3'、'3']
想要的输出是:
['qwe'、'wer'、'ert'、'rty'、'tyu'、'yui'、'uio'、'iop'、'asd'、'sdf'、'dfg'、'fgh'、'ghj'、'hjk'、'jkl'、'zxc'、'xcv'、'cvb'、'vbn'、'bnm']
如果要存储所有这些键盘组合,必须迭代字典的值。然而,你写下:
所以你必须重写它:
或更优雅:
它们产生:
请注意,大多数Python解释器都有无序字典,因此行的顺序可能不同。你知道吗
相关问题 更多 >
编程相关推荐