print({(k[:len(k)//2] if k.count(k[:len(k)//2]) > 1 and len(k[:len(k)//2]) > 1 else k): (example_string.count(k[:len(k)//2]) if k.count(k[:len(k)//2]) > 1 and len(k[:len(k)//2]) > 1 else example_string.count(k)) for k in example_string.split()})
输出:
{'co': 2, 'crunch': 1, 'is': 1, 'nice': 3}
如果要同时包含原始子字符串:
from collections import Counter
print({**Counter(example_string.split()), **{(k[:len(k)//2] if k.count(k[:len(k)//2]) > 1 and len(k[:len(k)//2]) > 1 else k): (example_string.count(k[:len(k)//2]) if k.count(k[:len(k)//2]) > 1 and len(k[:len(k)//2]) > 1 else example_string.count(k)) for k in example_string.split()}})
尝试使用以下词典:
输出:
如果要同时包含原始子字符串:
输出:
相关问题 更多 >
编程相关推荐