作者paulluopaull (ppoo)
看板Python
標題[問題] 關於重複搜尋
時間Wed Aug 23 07:15:29 2017
小弟最近在做PYTHON習題
Problem
Given: A string ss of length at most 10000 letters.
Return: The number of occurrences of each word in ss, where words are
separated by spaces. Words are case-sensitive, and the lines in the output
can be in any order.
Sample Dataset:
We tried list and we tried dicts also we tried Zen
Sample Output:
and 1
We 1
tried 3
dicts 1
list 1
we 2
also 1
Zen 1
但是小弟做同樣練習時會重複出現有重複的字:
we 3 -------1st occured
tried 3-------1st occured
list 1
and 1
we 3-------2nd occured
tried 3-------2nd occured
dicts 1
also 1
we 3------3rd occured
tried 3------3rd occured
zen 1
以下為小弟的CODE,再請各位大大幫忙檢視一下問題出在哪裡了。謝謝!
lines = 'We tried list and we tried dicts also we tried Zen'
for word in lines.lower().split(' '):
pare = {word: lines.lower().count(word)}
pare.update(pare) #希望用update消除重複項
for k1, v1 in pare.items():
print(k1, v1)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 96.224.226.89
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1503443731.A.CF0.html
→ wennie0433: word那個回圈每次都會重製你的pare所以根本沒紀錄到 08/23 11:19
→ wennie0433: 迴圈外面宣告一個dup = dict() 08/23 11:25
→ wennie0433: 然後dup.update(pare) 08/23 11:25
→ wennie0433: 最後那個迴圈就直接搬出來不要在迴圈裡面pare換成dup 08/23 11:26
→ wennie0433: 然後他題目大小寫應該市分開算lower()要拿掉 08/23 11:27
→ zerof: {k: lines.count(k) for k in set(lines.split())} 08/24 10:35