以下是一个示例代码,用于按逗号分隔字符串进行分组,但忽略字符串的特定顺序:
from collections import defaultdict
def group_strings(strs, ignore_order):
groups = defaultdict(list)
for s in strs:
key = ''.join(sorted(s)) if ignore_order else s
groups[key].append(s)
return list(groups.values())
# 示例用法
strs = ['cat', 'dog', 'tac', 'god', 'act']
ignore_order = True
result = group_strings(strs, ignore_order)
print(result)
输出结果为:
[['cat', 'tac', 'act'], ['dog', 'god']]
在上面的示例中,我们使用defaultdict(list)创建了一个字典groups,并使用key作为键来存储相同分组的字符串。如果ignore_order为True,则将字符串按字母顺序排序后作为键;否则,使用原始字符串作为键。
然后,我们遍历给定的字符串列表strs,对每个字符串进行处理。根据ignore_order的值,我们选择适当的键,然后将当前字符串添加到对应的分组中。
最后,我们使用list(groups.values())将分组转换为列表,并将其作为结果返回。
在示例中,给定的字符串列表为['cat', 'dog', 'tac', 'god', 'act'],我们忽略字符串的顺序。因此,我们得到的分组为[['cat', 'tac', 'act'], ['dog', 'god']],即按逗号分隔的字符串分为两组。
上一篇:按逗号分隔在列中获取唯一值