【发布时间】:2019-03-19 15:47:52
【问题描述】:
我头疼,字典是这样的:
{a: ['+','+','-','-','+','-','-','+'],
b: ['+','+','+','-','-','+','+','+','-'],
c: ['-','-','-','+','+','+']}
我想知道值的字符串改变了多少次,像这样:
a = 4
b = 3
c = 1
我尝试过使用 itertools 中的 groupby,方法是这样做:
for k, v in mydict.iteritems():
print k + ' ' + str([len(list(g[1])) for g in groupby(list(v)) if g[0] =='+'])
但我只得到一个包含两个值的列表(两个字符串开关).. 我已尝试更改 '+' 和 '-' 字符但没有成功,有什么建议吗?
【问题讨论】:
-
您可以编写类似于stackoverflow.com/a/2936861/1317713 的自己的循环,而不是记住符号,记住最后一个值。
-
我的回答对@fcalles 有帮助吗?不要忘记提供一些反馈。您可以投票/接受问题,请参阅What should I do when someone answers my question?