[英]List/Dict comprehension in Python to update a dictionary with keys and values from a string
有谁知道如何在一行中将下面的 for 循环转换为列表或字典理解? type(letter) = string,type(stringOne) = string,type(dictResult) = dictionary。例如,stringOne = 'abcddd',我希望 output 为 dictResult = {'a': 1, 'b': 1 , 'c': 1, 'd': 3} 谢谢!!!
stringOne = 'abcddd'
dictResult = {}
for letter in stringOne:
dictResult[letter] = dictResult.get(letter,0) + 1
使用 set 查找唯一键,然后计数。 请注意,该set
不会保留(键)插入顺序!
stringOne = 'abcddd'
dictResult = {char: stringOne.count(char) for char in set(stringOne)}
print(dictResult)
使用 Counter 就可以了。 节省您为字符串做循环的时间。 如果您需要它是字典类型,可以稍后转换为字典。
from collections import Counter
counter = Counter(stringOne)
dict(counter)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.