我正在尝试将 value:'a[1]+ ""+a[2]' 添加到 defaultdict(str) 中的 key:'a[0]'。当我尝试运行我的程序时,出现以下错误代码:
AttributeError: 'str' object has no attribute '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)
最佳答案
修复属性错误
字符串支持“+=”操作,而不是 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))
关于python - 当我尝试向 defaultdict(str) 添加值时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58618285/