我正在尝试在defaultdict(str)中将值:'a [1] +“” + a [2]'添加到键:'a [0]'。当我尝试运行我的计算机时,出现以下错误代码:
AttributeError:'str'对象没有属性'add'
files_summary = defaultdict(str)
for line in file:
a = line.split()
files_summary[a[0]].add(a[1]+ " "+a[2])
for i in files_summary.items():
print(i)
答案 0 :(得分:2)
字符串支持“ + =”操作,而不是 add()方法:
files_summary = defaultdict(str)
for line in file:
a = line.split()
files_summary[a[0]] += a[1]+ " " + a[2]
for i in files_summary.items():
print(i)
也就是说,累积字符串的算法上更好的方法是建立一个列表,然后在末尾str.join()。
files_summary = defaultdict(list)
for line in file:
a = line.split()
files_summary[a[0]].append(a[1]+ " " + a[2])
for key, strings in files_summary.items():
print(key, ''.join(strings))