一般的字典
构造:
pythonfrom collections import defaultdict
dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(str)
dict4 = defaultdict(list)
defaultdict接受一个函数作为参数。如果字典里没有找到key,用这个函数构造一个对象返回。
题目:
python:
pythonfrom collections import defaultdict
while True:
try:
zd=defaultdict(list)
arr = input().split()
words = arr[1 : 1+int(arr[0])]
lookup = arr[-2]
k = int(arr[-1])
bro=[]
#构造字典
for i in words:
zd[ "".join(sorted(i))].append(i)
if "".join(sorted(lookup)) in zd.keys(): #在字典里有
for i in zd["".join(sorted(lookup))]: #所有相似单词
if lookup!=i:
bro.append(i)#相似不相同的才是兄弟单词
print(len(bro))
if bro and k-1<len(bro):
print(sorted(bro)[k-1])#排序所有兄弟单词 找到第k个
except:
break
传入
python5 abc acb ddd fgh hgf abc 1
即zd里用abc acb ddd fgh hgf构造
pythondefaultdict(<class 'list'>,
{
'abc': ['abc', 'acb'],
'ddd': ['ddd'],
'fgh': ['fgh', 'hgf']
})
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!