当我尝试向defaultdict(str)添加值时出现错误

时间:2019-10-30 03:18:22

标签: python python-3.x

我正在尝试在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)

1 个答案:

答案 0 :(得分:2)

修复AttributeError

字符串支持“ + =”操作,而不是 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))