所以我有一份名单,上面列出了人们每次比赛的胜负:
scores = [["win","lose","win"],["win","win"],["draw","win"],["lose"]]
我想得到每个子列表的计数'win'
/'lose'
/'draw'
我能用字典做这个吗?你知道吗
例如dict= {[win:2, draw:0, lose:1],[win:2, draw:0, lose:0].....}
我试着数数,然后把它们放进一个列表:
countlose=0
for sublist in scores:
for item in sublist:
for item in range(len(sublist)):
if item=="lose":
countlose+=1
print(countlose)
但这只返回了0
告诉我你将如何解决这个问题
您可以使用^{} ,它是
dict
的子类,用于计算可散列对象:要为丢失的键添加零计数,可以使用附加循环:
或者,可以用^{} 包装计数器:
所需结果的语法无效。很可能你想要一个字典列表。你知道吗
collections.Counter
只对iterable中的值进行计数;除非提供额外的逻辑,否则不会对外部提供的键进行计数。你知道吗在这种情况下,您可以使用列表理解,并结合使用空词典:
您可以对给定列表中的每个
sublist
应用列表理解。你知道吗另外,声明您自己的
counter
函数,该函数统计win
、lose
或draw
中一个项的出现次数。你知道吗输出
相关问题 更多 >
编程相关推荐