python - value_counts - ¿Cómo asignar a campo repetido?
tabla de frecuencias en python (3)
Estoy usando buffers de protocolo en python y tengo un mensaje dentro de Person
repeated uint64 id
pero cuando trato de asignar como
person.id = [1, 32, 43432]
Assigment not allowed for repeated field "id" in protocol message object
error Assigment not allowed for repeated field "id" in protocol message object
¿Cómo asignar un campo repetido?
Puedes intentar usar MergeFrom
Consulte estos documentos para ver la lista completa de métodos de mensajes disponibles para usted: https://developers.google.com/protocol-buffers/docs/reference/python/google.protobuf.message.Message-class
Según la documentation , no puede asignar directamente a un campo repetido. En este caso, puede llamar a extend
para agregar todos los elementos de la lista al campo.
person.id.extend([1, 32, 43432])
Si no desea extender pero sobreescribirlo completamente, puede hacerlo:
person.id[:] = [1, 32, 43432]
Este enfoque también trabajará para despejar el campo por completo:
del person.id[:]