【python/M/187】Repeated DNA Sequences

题目

在这里插入图片描述

基本思路

用字典储存每个串出现的次数,最后找出值大于1的key

实现代码

class Solution(object):
    def findRepeatedDnaSequences(self, s):
        """
        :type s: str
        :rtype: List[str]
        """
        resDict = dict()
        
        for i in range(len(s)-9):
            key = s[i:i+10]
            
            if not resDict.has_key(key):
                resDict[key] = 1
            else:
                resDict[key] = resDict[key] + 1
        
        resList = list()
        for key in resDict.keys():
            if resDict[key] > 1:
                resList.append(key)
        
        return resList
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python的protobuf中,repeated字段表示重复的字段,也就是可以包含多个值的字段。在你提供的protobuf定义中,我们可以看到repeated关键字被用于定义了repeated字段。 在Python中使用protobuf处理repeated字段非常简单。首先,你需要通过parse_from_string方法将二进制数据解析为message对象。然后,你可以直接使用for循环遍历repeated字段的值。 例如,如果我们有一个AddressBook的message对象,其中包含多个Person对象,我们可以使用如下代码来处理repeated字段: ``` import addressbook_pb2 address_book = addressbook_pb2.AddressBook() address_book.ParseFromString(data) # 解析二进制数据 for person in address_book.people: # 遍历repeated字段 print(person.name) # 打印每个Person对象的name字段的值 ``` 在这个例子中,addressbook_pb2是根据你提供的protobuf定义生成的Python代码文件。我们首先创建一个AddressBook的对象address_book,然后通过ParseFromString方法将二进制数据解析为对象。然后,使用for循环遍历address_book.people,可以直接访问每个Person对象的属性,比如name字段。通过这种方式,我们可以处理repeated字段的数据。 中提到了在protobuf编译出的.py文件中没有生成API接口,只有DESCRIPTOR。这意味着我们不能像C或Java版本那样直接调用方法来访问repeated字段的元素。而是需要通过直接访问message对象的属性来获取repeated字段的值。 总结起来,Python的protobuf中的repeated字段表示重复的字段,可以包含多个值。我们可以使用for循环遍历repeated字段的值,通过访问message对象的属性来获取每个元素的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值