Python和协议缓冲区:如何从重复消息字段中删除元素
根据协议缓冲区, 我可以通过以下方式将对象添加到重复消息字段:Python和协议缓冲区:如何从重复消息字段中删除元素,python,protocol-buffers,Python,Protocol Buffers,根据协议缓冲区, 我可以通过以下方式将对象添加到重复消息字段: foo = Foo() bar = foo.bars.add() # Adds a Bar then modify bar.i = 15 foo.bars.add().i = 32 # Adds and modify at the same time 但是: 如何从条中删除条 如何从条中删除第n个条元素 我花了几分钟的时间才正确安装了proto buffer编译器,因此这可能是忽略此问题的充分理由:) 虽
foo = Foo()
bar = foo.bars.add() # Adds a Bar then modify
bar.i = 15
foo.bars.add().i = 32 # Adds and modify at the same time
但是:
条
中删除条
条中删除第n个条元素
我花了几分钟的时间才正确安装了proto buffer编译器,因此这可能是忽略此问题的充分理由:) 虽然文档中没有,但实际上可以像处理普通列表一样处理重复字段。除了它的私有方法外,它还支持
添加
,扩展
,删除
和排序
,并且删除
是您在第一种情况下要查找的:
foo.bars.remove(bar)
以下是在上述行(由上面的代码定义)之前和之后打印foo
时的输出:
至于删除n
元素,您可以使用del
和要删除的索引位置:
#删除第二个元素
德福酒吧[1]
以及输出:
原始foo:
栅栏{
i:15
}
栅栏{
i:32
}
删除索引位置1:
栅栏{
i:15
}
希望有帮助 我花了几分钟的时间才正确安装了proto-buffer编译器,因此这可能是我忽略这一点的充分理由:) 虽然文档中没有,但实际上可以像处理普通列表一样处理重复字段。除了它的私有方法外,它还支持
添加
,扩展
,删除
和排序
,并且删除
是您在第一种情况下要查找的:
foo.bars.remove(bar)
以下是在上述行(由上面的代码定义)之前和之后打印foo
时的输出:
至于删除n
元素,您可以使用del
和要删除的索引位置:
#删除第二个元素
德福酒吧[1]
以及输出:
原始foo:
栅栏{
i:15
}
栅栏{
i:32
}
删除索引位置1:
栅栏{
i:15
}
希望有帮助 我不确定这是否是版本问题,但“.remove”删除方法对我不起作用。第二个版本确实有效。我不确定这是否是版本问题,但“.remove”删除方法对我不起作用。第二个版本确实有效。