我想要一本显示布尔数的字典。一、 姓名/职位组合符合标准的频率。E、 g.:
Key - Value1 - Value2
John12 Yes:300 No:25
John13 Yes:400 No:29
Linda13 Yes:300 No:60
。。。在
我试过了:
^{pr2}$因为一个bug,我得到了“SyntaxError:非法的扩展赋值表达式”
所以谷歌给了我这个:
if str(f[1]) + str(f[7]) in psHpGrp:
if f[6] == 1:
i = psHpGrp.setdefault((f[1]) + str(f[7]), [])
i += 1
else:
j = psHpGrp.setdefault((f[1]) + str(f[7]), [])
j += 1
else:
psHpGrp.setdefault(str(f[1]) + str(f[7]), []).append(str(f[1]) + str(f[7]))
现在我得到:j+=1'int'对象是不可编辑的
这里怎么了?在
正如@larsmans所说,您不能向列表添加int(使用
+=
)。在初始尝试时,将[]
替换为0
,然后为该条目增加数字。在另外:您的最后一个错误似乎是由您尚未发布的代码引起的。Python让您知道有问题的代码在哪一行,最好至少发布那一行代码。在
您要使用
defaultdict
:第一部分:
^{pr2}$将从字典
psHpGrp
中获取键str(f[1]) + str(f[7])
的对象,如果它不存在,则创建一个新的Counter
。在然后它将}。}的数目作为字典。它们代表你的
.update([f[6] == 1])
与条件f[6] == 1
的结果一起,它可以是True
或{Counter
包含True
和{"Yes"/"No"
,只是它们是布尔人。在相关问题 更多 >
编程相关推荐