我正在開發一個側面項目,並且遇到了此問題。基本上,我處理的輸入列表,其中內部列表看起來像這樣的列表:獲取所有以多個列表中的同一個字母開始的單詞列表
- ['operating', 'alive', 'effective', 'rapid', 'progressive', 'working', 'mobile']
- ['enjoyable', 'pleasant', 'entertaining', 'amusing', 'lively', 'boisterous', 'convivial', 'merry', 'witty']
可以有任意數量的內列出的(但我認爲創建一個限制)。我想要實現的是從每個以相同字母開頭的列表中返回單詞列表。例如,從上面,我們會得到這樣的東西:
[alive, amusing], [effective, enjoyable], [effective, entertaining], [progressive, pleasant] ...
我的問題是,什麼是一個好方法?我考慮過整個字母表,並使用布爾數組來跟蹤每個列表中哪些字母在該字母開頭有一個單詞,但它看起來效率低下,並且我對該方法不滿意。
例如(不完整,但僅做參考..):
d = dict.fromkeys(ascii_lowercase, False)
for c in ascii_lowercase:
found = False
for item in description:
for syn in item:
if syn.startswith(c):
found = True
d[c] = found
然後就可以抓取開始以字母的話標誌着從每個列表構建輸出列表「真」。
我錯過了一個更簡單的方法嗎?我是Python的新手,所以我不確定是否缺少一個內置函數,在這種情況下可能會有所幫助。
感謝您的閱讀!
爲什麼在您的示例中有兩個以'E'開頭的單詞列表? – arsho