pythonでプロトコルバッファを使用していますが、Person
メッセージがあります
repeated uint64 id
しかし、次のように値を割り当てようとすると:
person.id = [1, 32, 43432]
エラーが表示されます:Assigment not allowed for repeated field "id" in protocol message object
繰り返しフィールドに値を割り当てる方法は?
ドキュメント に従って、繰り返しフィールドに直接割り当てることはできません。この場合、extend
を呼び出して、リスト内のすべての要素をフィールドに追加できます。
person.id.extend([1, 32, 43432])
extendではなく、完全に上書きする場合は、次のようにします。
person.id[:] = [1, 32, 43432]
このアプローチは、フィールドを完全にクリアするためにも機能します。
del person.id[:]