Python序列化proto中repeated修饰的数据
一、repeated修饰复合数据结构,即message时
1、使用message的add方法初始化新实例
2、分别对新实例中的每个元素赋值;或使用CopyFrom(a)拷贝a中的元素值
message TechnologyTreeNode{
optional int32 node_id = 1;
optional int32 level = 2;
}
message TechnologyTree {
repeated TechnologyTreeNode tree_node_list = 1;
}
tt = TechnologyTree()
ttn = tt.tree_node_list.add()
# 分别赋值
ttn.node_id = 2
ttn.level = 3
# CopyFrom
tn = TechnologyTreeNode()
tn.node_id = 2
tn.level = 3
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()
Python序列化proto中repeated修饰的数据的更多相关文章
- Java中final修饰的数据
目录 Java中final修饰的数据 有初始值的final域 final+基本数据类型 final+引用数据类型 final与static final 空白final域 final修饰的参数 基本数据 ...
- python序列化proto时对repeated修饰数据进行赋值(常用类型和其他类型)
说一下对proto文件中数据使用时的书写方法,因为笔者也经常弄混淆 一.repeated修饰符,该列表是常用类型,比如int message C2GS_GoodsList { repeated int ...
- Python(Redis 中 Set/Zset 类型数据和其他操作)
1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...
- Python从MongoDB中按天读取数据并格式化日志
#$cat SpeechMongoHandle.py from pymongo import Connection import time import datetime # CTRL_A='\x01 ...
- python删除列表中得重复得数据
解决思想:将列表转换为 集合,利用集合删除重复数据得特性删除重复数据,然后将集合转换为列表 #删除列表中得重复元素 def delect_1 (lt): s = set(lt) lt = list(s ...
- python 去除Excel中的重复行数据
导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'She ...
- 详述Python序列化
一.前言 1. 现实需求 每种编程语言都有各自的数据类型,其中面向对象的编程语言还允许开发者自定义数据类型(如:自定义类),Python也是一样.很多时候我们会有这样的需求: 把内存中的各种数据类型的 ...
- 使用Python将Excel中的数据导入到MySQL
使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...
- Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...
随机推荐
- string与number转换
数字变字符串:str+'' 字符串变数字:str-0
- 20164305徐广皓 - Exp1 PC平台逆向破解(5)M
1.逆向及Bof基础实践说明 1.1实践目标 实践对象:pwn1的linux可执行文件 实践目的:使程序执行另一个代码(ShellCode) 实践内容: 手工修改可执行文件,改变程序执行 ...
- Scanner输入数字时个位十位百位千位单独取出。
Scanner inn = new Scanner(System.in); int i = inn.nextInt(); System.out.println("个位是"+i%10 ...
- sonar6.7.2启动报错
sonar6.7.2启动报错:错误信息如下: es.log java.lang.RuntimeException: can not run elasticsearch as rootsonar.log ...
- The SetStack Computer UVA - 12096
题意:初始状态的栈内包含一个空集,对栈进行一下操作: PUSH:向栈内压入一个空集 DUP:复制栈顶,并压入栈内 UNION:将栈顶端两个集合出栈,并将两个元素的并集入栈 INTERSECT:将栈顶端 ...
- python3数学函数
数 学 函 数 abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 cmp(x, y) 如果 x < y ...
- 使用Mac下的sequel Pro链接数据库时提示错误(已解决)
使用Mac下的sequel Pro链接数据库时,出现如下问题: ? 1 MySQL said: Authentication plugin 'caching_sha2_password' cannot ...
- git知识总结-4.git服务器搭建及迁移git仓库
1. 前言 因为手里有一份代码之前是直接从其它git服务器上克隆下来的,现在想自己搭建一个git服务器把这份代码管起来. 2. 搭建git服务器 1.安装git: $ sudo apt-get ins ...
- poj 3268 Silver Cow Party(最短路dijkstra)
描述: One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the bi ...
- stderr和stdout详细解说
今天又查了一下fprintf,其中对第一个参数stderr特别感兴趣. int fprintf(FILE *stream,char *format,[argument]): 在此之前先区分一下:pri ...