""" 异位词分组 给定一个字符串数组,将字母异位词组合在一起。 字母异位词是指由重新排列源单词的所有字母得到的一个新单词 可以按任意顺序返回结果列表。 """ def adjust(str_list): """ 将具有相同字符但字符顺序可能不同的字符串分组。 参数: string_list (list): 一个包含多个字符串的列表。 返回: list: 一个列表,其中包含分组后的字符串列表,每个组的字符串包含相同的字符但字符顺序可能不同。 """ # 初始化一个空字典,用于存储分组后的结果 result = {} for item in str_list: # 对当前字符串进行排序,然后将排序后的字符连接成一个新的字符串,作为键 key = "".join(sorted(item)) # 如果这个键已经存在于字典中,说明已经有其他字符串和当前字符串具有相同的字符,因此将当前字符串添加到对应的值列表中 if key in result: result[key].append(item) else: # 如果这个键不存在于字典中,说明当前字符串具有独特的字符组合,因此创建一个新的值列表,并将当前字符串添加到其中 result[key] = [item] # 返回字典的所有值,这些值是分组后的字符串列表 return list(result.values()) if __name__ == '__main__': string_list = ["eat", "tea", "tan", "ate", "nat", "bat"] print(adjust(string_list))
评论前必须登录!
注册