九宮格鍵盤輸入

2021-09-16 20:11:47 字數 1513 閱讀 5919

23為例,2代表abc,只需要將其轉換成lists = [a,b,c],然後處理33def,將這三個字元分別加到s的每乙個元素中,得到["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。重複此過程即可。

上述思路可以用迴圈完成,同時python提供的reduce函式和生成式特性能夠精煉地表述,下面給出兩種**。

class solution(object):

def lettercombinations(self, digits):

""":type digits: str

:rtype: list[str]

"""from functools import reduce #python3.x

if not digits:

return

nums = '0 1 abc def ghi jkl mno pqrs tuv wxyz'.split(' ')

return reduce(lambda last, d: [x + y for x in last for y in nums[int(d)]], digits, ['']) # 第三個引數是initial

#使用迴圈完成

def lettercombinations_old(self, digits):

if not digits:

return

nums = '0 1 abc def ghi jkl mno pqrs tuv wxyz'.split(' ')

ret = [_ for _ in nums[int(digits[0])]]

digits = digits[1:]

while digits:

ret = [x + y for x in ret for y in nums[int(digits[0])]]

digits = digits[1:]

return ret

python 鍵盤輸入數字 九宮格鍵盤輸入

九宮格鍵盤輸入 letter combinations of a phone number 給定乙個數字字串,返回數字可能代表的所有可能的字母組合。數字到字母的對映 就像九宮格 按鈕一樣 如下圖。given a digit string,return all possible letter comb...

手機九宮格鍵盤

按照手機鍵盤輸入字母的方式,計算所花費的時間 如 a,b,c都在 1 鍵上,輸入a只需要按一次,輸入c需要連續按三次。如果連續兩個字元不在同乙個按鍵上,則可直接按,如 ad需要按兩下,kz需要按6下 如果連續兩字元在同乙個按鍵上,則兩個按鍵之間需要等一段時間,如ac,在按了a 之後,需要等一會兒才能...

九宮格布局

2009 08 25 15 15 27 九宮格是一種比較古老的設計,它最基本的表現其實就像是乙個三行三列的 其實它最初是在window的c s結構中用得比較多,比如我們經常看 到軟體中的乙個窗體,其實就是乙個九宮格的典型應用,因為窗體需要在八個方向拉伸,所以在c s軟體中大量採用這種技術來布局設計。...