微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何返回由2个字母的每个单词出现的次数组成的字典

如何解决如何返回由2个字母的每个单词出现的次数组成的字典

编写一个以以下方式打印字典的函数

键:GT-值:1
键:CT-值:8


代码

private fun showDialog() {

    BottomSheetDialog(requireActivity(),R.style.CustomizedBottomDialogStyle).apply {

        window?.setSoftInputMode(WindowManager.LayoutParams.soFT_INPUT_ADJUST_RESIZE)

        setonShowListener {
            Handler().post {
                val bottomSheet = findViewById<View>(R.id.design_bottom_sheet) as? FrameLayout
                bottomSheet?.let {
                    BottomSheetBehavior.from(it).state = STATE_EXPANDED
                }
            }
        }

        setContentView(R.layout.dialog_layout)

        // Your code goes here....

        show()
    }
}

我得到了def occurrences2letters(sequence): dico = {} for i in range(len(sequence)-1): key = sequence[i]+sequence[i+1] dico[key] = dico.get(key,0) + 1 return dico

现在,我想要另一个代码来帮助我在开始时显示结果。目前,我已经编写了代码的那部分,但是没有用

{'AC': 1,'CC': 3,'CT': 8,'TA': 7,'AG': 7,'GC': 7,'CA': 1,'AT': 2,'TG': 2,'GT': 1,'GA': 1,'AA': 1,'TC': 2,'CG': 1,'GG': 1,'TT': 2}

解决方法

def occurrences2letters(sequence): 
    dico = {}
    for i in range(len(sequence)-1): 
        key = sequence[i]+sequence[i+1] 
        dico[key] = dico.get(key,0) + 1
    return dico

def printDico(dico):
    for key in dico:
        print("Key : "+str(key)+" - Value : "+str(dico[key]))

spam = "ACCTAGCCATGTAGAATCGCCTAGGCTTTAGCTAGCTCTAGCTAGCTG"
dico = occurrences2letters(spam)
printDico(dico)

输出:

Key : AC - Value : 1
Key : CC - Value : 3
Key : CT - Value : 8
... some output left out for brevity
Key : CG - Value : 1
Key : GG - Value : 1
Key : TT - Value : 2

您的occurrences2letters()返回一个字典,您首先需要调用它,将字符串作为参数传递,然后调用printDico(),将第一个函数的字典作为参数传递。

请注意,有更好的方法,例如使用collections.Counter,这是一种遍历键,字典的值对等的更多Python方式。

import collections
import more_itertools # third-party library,instaled from pypi
spam = "ACCTAGCCATGTAGAATCGCCTAGGCTTTAGCTAGCTCTAGCTAGCTG"

for key,value in collections.Counter(more_itertools.windowed(spam,2)).items():
    print(f'Key: {"".join(key)} - Value: {value}')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。