我在较大的字符串中找不到我的子字符串

时间:2019-10-30 17:57:09

标签: python

我有字典

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时,它会起作用。

2 个答案:

答案 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