我有字典
dic_enz = {EcoRI:G^AATTC}
,我想查找值G^AATTC
在较大的字符串my_seq
中出现的次数,我知道会有3
,但是它返回了0
。
这是我的代码
first_enz = dic_enz.get('EcoRI')
first_seq = first_enz.replace('^', '')
print(my_seq.count(first_seq))
问题是,当我将first_seq
替换为GAATTC
时,它会起作用。
答案 0 :(得分:1)
正如@Barmar在评论中所说(我在评论时输入答案),如果字典的键和值不是变量或数字,则应将其括起来:
dic_enz = {"EcoRI": "G^AATTC"}
my_seq = "foo1GAATTCfoo2GAATTCfoo3GAATTCfoo4"
first_enz = dic_enz.get('EcoRI')
first_seq = first_enz.replace('^', '')
print(my_seq.count(first_seq))
这将输出3
。
答案 1 :(得分:0)
就像@BlueSheepToken所说的,只需要使用str.count()
和正确的模式即可。看:
powershell powershell Write-Host (Get-Variable -Name "AZ_BATCH_APP_PACKAGE_powershellscripts#1.0").Value
如果您要计数的模式是Python 3.7.4 (default, Aug 12 2019, 14:45:07)
[GCC 9.1.1 20190605 (Red Hat 9.1.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> s='G^AATTCaaaaG^AATTCbbbG^AATTCccccddefffG^AATTCa'
>>> pattern='G^AATTC'
>>> s.count(pattern)
4
>>>
,为什么要寻找G^AATTC
?