Python – 对相似的开始和结束字符词进行分组
有时,在处理Python数据时,我们可能会遇到需要根据前后字符对所有单词进行分组的问题。这种应用程序在我们处理数据(如 Web 开发)的领域中很常见。让我们讨论可以执行此任务的某些方式。
方法 #1:使用defaultdict()
+ 循环
上述功能的组合可用于执行此任务。在此,我们使用字符串切片表示法检查前面和最后一个元素并存储在 dict 中。以第一个和最后一个字符为键。
# Python3 code to demonstrate working of
# Group Similar Start and End character words
# Using defaultdict() + loop
from collections import defaultdict
def end_check(word):
sub1 = word.strip()[0]
sub2 = word.strip()[-1]
temp = sub1 + sub2
return temp
def front_check(word):
sub = word.strip()[1:-1]
return sub
# initializing string
test_str = 'geeksforgeeks is indias best and bright for geeks'
# printing original string
print("The original string is : " + str(test_str))
# Group Similar Start and End character words
# Using defaultdict() + loop
test_list = test_str.split()
res = defaultdict(set)
for ele in test_list:
res[end_check(ele)].add(front_check(ele))
# printing result
print("The grouped dictionary is : " + str(dict(res)))
输出 :
The original string is : geeksforgeeks is indias best and bright for geeks
The grouped dictionary is : {‘fr’: {‘o’}, ‘bt’: {‘righ’, ‘es’}, ‘ad’: {‘n’}, ‘gs’: {‘eeksforgeek’, ‘eek’}, ‘is’: {”, ‘ndia’}}