以下是一个按字符串进行分组数组的示例代码:
def group_by_string(strings):
groups = {} # 创建一个空字典用于存储分组结果
for string in strings:
key = "".join(sorted(string)) # 将字符串按字符排序后作为分组的键
if key in groups:
groups[key].append(string) # 如果键已存在,则将字符串添加到对应的分组中
else:
groups[key] = [string] # 如果键不存在,则创建新的分组,并将字符串添加进去
return list(groups.values()) # 返回分组结果的列表形式
# 测试
strings = ["eat", "tea", "tan", "ate", "nat", "bat"]
result = group_by_string(strings)
print(result)
输出结果为:
[['eat', 'tea', 'ate'], ['tan', 'nat'], ['bat']]
该示例代码使用了一个字典来存储分组结果,键为按字符排序后的字符串,值为该分组中的所有字符串。然后,遍历输入的字符串列表,将每个字符串按照排序后的字符串作为键,将字符串添加到对应的分组中。最后,将字典的值转化为列表形式并返回作为最终的分组结果。
下一篇:按字符串类型的列进行选择