IN6. Dictionaries

更新於 發佈於 閱讀時間約 1 分鐘

題目:https://rosalind.info/problems/ini6/


從這題開始有一點點難度了

計算每個字詞出現的次數,區分大小寫(Python Dict 預設就是大小寫敏感)


首先將輸入字串,按照空白字元做切割,得到一個陣列

['We', 'tried', 'list', 'and', 'we', 'tried', 'dicts', 'also', 'we', 'tried', 'Zen']

用迴圈迭代跑過一輪

當字典裡有目前的字(key),數字(value)就+1。

若字典裡還沒有,則創造此字(key),數字(value)為1。


s = "We tried list and we tried dicts also we tried Zen"

d = dict()
for word in s.split():
d[word] = d.get(word, 0) + 1

for key,value in d.items():
print(key, value)

注意最後印出不能直接print(d)

而是要按照插入字典時的順序,所以在Hint中才有這一段d.items()

avatar-img
0會員
7內容數
這裡存放著 我在Rosalind生物資訊平台的解題過程。 歐印生科ㄌ。
留言
avatar-img
留言分享你的想法!
生物資訊實驗室 的其他內容
題目:https://rosalind.info/problems/ini5/ 讀入一個充滿文字的檔案 按照1-based 索引取出偶數行(第2、4、6... 行) with open("IN5.txt", "r", encoding="utf-8") as file: lines
計算所有在a~b之間的奇數數字 python沒有內建 isOdd()函式,所以只能寫ifㄍ判斷奇數、偶數 a, b = 100, 200 s = 0 for i in range(a, b+1): if i % 2 == 1: s += i print(s)
題目:https://rosalind.info/problems/ini3/ 給一長字串,然後a, b, c, d 4個數字 切出字串[a~b]、字串[c~d]的位置,連接後印出來 (須包含字串[b]、字串[d]的位置) s = "HumptyDumptysatonawallHum
題目:https://rosalind.info/problems/ini2/ 給直角三角形的兩個邊a, b,求斜邊(hypotenuse)的平方(square) ex: 3, 5 => 9+25 = 34 (不是求斜邊長噢,是"斜邊平方") 直接將 a^2+b^2 計算結果印出
生物資訊界的解題平台,類似於Leetcode 平台規則: 下載dataset之後,五分鐘內要交卷,否則會失敗 與常見解題平台不同,此處是提交dataset的對應答案,而並非提交程式碼 (推測是rosalind沒有可以執行上傳程式的功能) 當時間超時或者答題失敗後,可以再次重來 不
https://rosalind.info/problems/ini1/ 首先從Python Village開始解題起。 安裝好Python、進入Python之後 import this 便會出現一首Python之禪的詩,這是Python的哲學 The Zen of Python,
題目:https://rosalind.info/problems/ini5/ 讀入一個充滿文字的檔案 按照1-based 索引取出偶數行(第2、4、6... 行) with open("IN5.txt", "r", encoding="utf-8") as file: lines
計算所有在a~b之間的奇數數字 python沒有內建 isOdd()函式,所以只能寫ifㄍ判斷奇數、偶數 a, b = 100, 200 s = 0 for i in range(a, b+1): if i % 2 == 1: s += i print(s)
題目:https://rosalind.info/problems/ini3/ 給一長字串,然後a, b, c, d 4個數字 切出字串[a~b]、字串[c~d]的位置,連接後印出來 (須包含字串[b]、字串[d]的位置) s = "HumptyDumptysatonawallHum
題目:https://rosalind.info/problems/ini2/ 給直角三角形的兩個邊a, b,求斜邊(hypotenuse)的平方(square) ex: 3, 5 => 9+25 = 34 (不是求斜邊長噢,是"斜邊平方") 直接將 a^2+b^2 計算結果印出
生物資訊界的解題平台,類似於Leetcode 平台規則: 下載dataset之後,五分鐘內要交卷,否則會失敗 與常見解題平台不同,此處是提交dataset的對應答案,而並非提交程式碼 (推測是rosalind沒有可以執行上傳程式的功能) 當時間超時或者答題失敗後,可以再次重來 不
https://rosalind.info/problems/ini1/ 首先從Python Village開始解題起。 安裝好Python、進入Python之後 import this 便會出現一首Python之禪的詩,這是Python的哲學 The Zen of Python,
你可能也想看
Google News 追蹤
Thumbnail
給定一個字串陣列,請把它們所共有的字元伴隨著出現次數輸出。這篇文章介紹如何使用字典統計出現次數,和字典取交集的方法來解決此問題。並提供了複雜度分析和關鍵知識點。
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
題目會給定一個陣列nums和一個目標值goal。計算子陣列總和=goal的數目有多少。演算法包含前綴和和字典的技巧,時間複雜度為O(n),空間複雜度為O(n)。
Thumbnail
題目敘述 題目會給定我們兩個字串。 第一個是指定順序的字串order。 第二個是輸入字串s。 要求我們依據order給定的順序,重新排列s。 如果出現order中沒有出現的字母,任意位置皆可。 合法答案可能不只一組,輸出其中一種即可。 題目的原文敘述 測試範例 Example
Thumbnail
題目敘述 題目會給定一個輸入字串s和一套編碼規則,要求我們針對字串s進行解碼,並且以字串的形式返回答案。 編碼規則: 數字[字串] -> []內的字串以對應倍數做展開,而且允許巢狀編碼。 例如: 3[a] 解碼完就是 aaa 2[bc] 解碼完就是 bcbc 2[a2[b]] = 2
Thumbnail
題目敘述 題目會給定兩個輸入。 第一個輸入是關鍵字清單products,第二個是使用者輸入的字串searchWord。 要求我們實現關鍵字搜尋建議系統,使用者每輸入一個字元就推薦一次。 推薦時,優先返回字典序(Lecial order)最接近的關鍵字,最多不要超過三個關鍵字。 題目的原文
Thumbnail
題目敘述 給定兩個字串word1和word2,每次操作時,可以有三個選項 插入一個字元 刪除一個字元 替換一個字元 請問把word1轉換成word2的最小操作次數是多少? 題目的原文敘述 約束條件 Constraints: 0 <= word1.length, word2.le
Thumbnail
題目敘述 題目會給定我們一個字串s,和一組字庫wordDict。 問我們能不能透過字串串接的方式,從字庫裡面的字拼成原本的字串s? 可以的話,返回True。 無解的話,返回False。 註: 題目還允許重複使用字庫裡面的字去串接。
Thumbnail
題目敘述 題目會給定我們兩個字串word1 和 word2。 允許我們不限制次數進行下列兩種操作: 任意調換其中兩個字元的位置。 把字串中的某個字元全部置換成另一個字元,同時把另一個字元同時置換成某個字元。(例如把字串中原本的a都換成b,把原本的b都換成a) 問我們能不能通過上述兩項操作,
Thumbnail
給定一個字串陣列,請把它們所共有的字元伴隨著出現次數輸出。這篇文章介紹如何使用字典統計出現次數,和字典取交集的方法來解決此問題。並提供了複雜度分析和關鍵知識點。
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
題目會給定一個陣列nums和一個目標值goal。計算子陣列總和=goal的數目有多少。演算法包含前綴和和字典的技巧,時間複雜度為O(n),空間複雜度為O(n)。
Thumbnail
題目敘述 題目會給定我們兩個字串。 第一個是指定順序的字串order。 第二個是輸入字串s。 要求我們依據order給定的順序,重新排列s。 如果出現order中沒有出現的字母,任意位置皆可。 合法答案可能不只一組,輸出其中一種即可。 題目的原文敘述 測試範例 Example
Thumbnail
題目敘述 題目會給定一個輸入字串s和一套編碼規則,要求我們針對字串s進行解碼,並且以字串的形式返回答案。 編碼規則: 數字[字串] -> []內的字串以對應倍數做展開,而且允許巢狀編碼。 例如: 3[a] 解碼完就是 aaa 2[bc] 解碼完就是 bcbc 2[a2[b]] = 2
Thumbnail
題目敘述 題目會給定兩個輸入。 第一個輸入是關鍵字清單products,第二個是使用者輸入的字串searchWord。 要求我們實現關鍵字搜尋建議系統,使用者每輸入一個字元就推薦一次。 推薦時,優先返回字典序(Lecial order)最接近的關鍵字,最多不要超過三個關鍵字。 題目的原文
Thumbnail
題目敘述 給定兩個字串word1和word2,每次操作時,可以有三個選項 插入一個字元 刪除一個字元 替換一個字元 請問把word1轉換成word2的最小操作次數是多少? 題目的原文敘述 約束條件 Constraints: 0 <= word1.length, word2.le
Thumbnail
題目敘述 題目會給定我們一個字串s,和一組字庫wordDict。 問我們能不能透過字串串接的方式,從字庫裡面的字拼成原本的字串s? 可以的話,返回True。 無解的話,返回False。 註: 題目還允許重複使用字庫裡面的字去串接。
Thumbnail
題目敘述 題目會給定我們兩個字串word1 和 word2。 允許我們不限制次數進行下列兩種操作: 任意調換其中兩個字元的位置。 把字串中的某個字元全部置換成另一個字元,同時把另一個字元同時置換成某個字元。(例如把字串中原本的a都換成b,把原本的b都換成a) 問我們能不能通過上述兩項操作,