首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >搜索列表匹配项,但仅搜索第一项

搜索列表匹配项,但仅搜索第一项
EN

Stack Overflow用户
提问于 2019-11-11 00:15:47
回答 1查看 31关注 0票数 1

我的代码运行得不错,但我不明白为什么它只使用第一项表单searchList进行搜索。这是我的代码:

代码语言:javascript
运行
复制
def analyzeSequence(dnastring,searchList):
    empty = {}
    for item in searchList:
        if dnastring.count(item) > 1:
            position = dnastring.index(item)
            times = dnastring.count(item)
            new = position, times
            empty[item] = new
            return empty

seq = "ATGCGATGCTCATCTGCATGCTGA"
sList = ["CAT","GC"]
print(analyzeSequence(seq,sList))

它打印:

代码语言:javascript
运行
复制
{'CAT': (10, 2)}

但我想要打印出来:

代码语言:javascript
运行
复制
{'CAT': (10, 2), 'GC': (2, 4)}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-11 00:19:25

您不能在第一次进入if时返回,只能在结束时返回

代码语言:javascript
运行
复制
def analyzeSequence(dnastring, searchList):
    values = {}
    for item in searchList:
        if dnastring.count(item) > 1:
            values[item] = dnastring.index(item), dnastring.count(item)
    return values

如果你感兴趣,这里是字典理解的方法

代码语言:javascript
运行
复制
def analyzeSequence(dna, searchList):
    return {item:(dna.index(item), dna.count(item)) for item in searchList if dna.count(item)>1}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58790543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档