像umbellar =伞都是平等的话.
输入= ["umbellar","goa","umbrella","before","aery","alem","ayre","gnu","eyra","egma","game","leam" ,"amel","year","meal","yare","gun","alme","ung","male","lame","mela","mage"]
所以输出应该是:
output = [["umbellar","umbrella"],["before","goa"],["aery","ayre","eyra","yare","year"],["alem", "alme","amel","lame","leam","male","meal","mela"],["gnu","gun","ung"] ["egma","game" ,"法师"],]
from itertools import groupby
def group_words(word_list):
sorted_words = sorted(word_list, key=sorted)
grouped_words = groupby(sorted_words, sorted)
for key, words in grouped_words:
group = list(words)
if len(group) > 1:
yield group
Run Code Online (Sandbox Code Playgroud)
例:
>>> group_words(["umbellar","goa","umbrella","ago","aery","alem","ayre","gnu","eyra","egma","game","leam","amel","year","meal","yare","gun","alme","ung","male","lame","mela","mage" ])
<generator object group_words at 0x0297B5F8>
>>> list(_)
[['umbellar', 'umbrella'], ['egma', 'game', 'mage'], ['alem', 'leam', 'amel', 'meal', 'alme', 'male', 'lame', 'mela'], ['aery', 'ayre', 'eyra', 'year', 'yare'], ['goa', 'ago'], ['gnu', 'gun', 'ung']]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
265 次 |
| 最近记录: |