我正在嘗試查找給定字串的子字串和字符的數量,并與串列進行比較并將它們回傳到字典中,順序無關緊要,例如示例:
string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
串列 = ["a","em","i","el"]
結果 = {'a': 7, 'em': 2, 'i': 11, 'el': 1}
我正在執行以下代碼:
frequencies = {}
test_string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
test_list = ["a","em","i","el"]
for char in test_list:
for char in test_string:
if char in test_list:
if char in frequencies:
frequencies[char] = 1
else:
frequencies[char] = 1
print(frequencies)
但是此代碼僅回傳字符,如下所示:
{'i':44,'a':28}
當它應該只回傳一次字符和子字串時,像這樣:
{'a': 7, 'em': 2, 'i': 11, 'el': 1}
如何同時將此字串中的子字串和字符獲取到單個字典?
uj5u.com熱心網友回復:
用于.count()計算字串中的子字串和字典理解以制作字典
txt = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
lst = ["a", "em", "i", "el"]
d = {k: txt.count(k) for k in lst}
print(d)
{'a': 7, 'em': 2, 'i': 11, 'el': 1}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/527830.html
