繁体   English   中英

Python 中的列表/字典理解,使用字符串中的键和值更新字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM