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