zoukankan      html  css  js  c++  java
  • Python序列化proto中repeated修饰的数据

    一、repeated修饰复合数据结构,即message时

     1、使用message的add方法初始化新实例

     2、分别对新实例中的每个元素赋值;或使用CopyFrom(a)拷贝a中的元素值

     1 message TechnologyTreeNode{
     2     optional int32 node_id = 1;
     3     optional int32 level   = 2;
     4 }
     5 
     6 message TechnologyTree {
     7     repeated TechnologyTreeNode tree_node_list = 1;
     8 }
     9 
    10 tt = TechnologyTree()
    11 ttn = tt.tree_node_list.add()
    12 
    13 # 分别赋值
    14 ttn.node_id = 2
    15 ttn.level = 3
    16 
    17 # CopyFrom
    18 tn = TechnologyTreeNode()
    19 tn.node_id = 2
    20 tn.level = 3
    21 ttn.CopyFrom(tn)

    二、repeated修饰基础数据类型,如:int等

    1、单个元素使用append()追加

    2、list使用expend()

    message A {
        repeated int ids = 1;
    }
    a = A()
    a.ids.append(1)
    l = [1, 2, 3]
    a.ids.extend(l)

    三、删除repeated修饰的数据中元素

    del a.ids[index]
    or
    a.ids.remove(item)

    四、清空

    del a.ids[:]

    or

    a.ids.clear()



  • 相关阅读:
    美国州名来源
    SQL Constraint/Index
    英语中的 姓氏/Surname
    GNU glibc
    英语人名探源/字母升序排列
    About 'atoi'
    封装一个类似jquery的ajax方法
    函数柯里化
    AngularJS实现TodoMVC
    webpack简单使用
  • 原文地址:https://www.cnblogs.com/YYRise/p/9380117.html
Copyright © 2011-2022 走看看