def update(self, list_id, subscriber_hash, note_id, data):
subscriber_hash = check_subscriber_hash(subscriber_hash)<EOL>self.list_id = list_id<EOL>self.subscriber_hash = subscriber_hash<EOL>self.note_id = note_id<EOL>if '<STR_LIT>' not in data:<EOL><INDENT>raise KeyError('<STR_LIT>')<EOL><DEDENT>return self._mc_client._patch(<EOL>url=self._build_path(list_id, '<STR_LIT>', subscriber_hash, '<STR_LIT>', note_id),<EOL>data=data<EOL>)<EOL>
Update a specific note for a specific list member.

The documentation lists only the note request body parameter so it is
being documented and error-checked as if it were required based on the
description of the method.

:param list_id: The unique id for the list.
:type list_id: :py:class:`str`
:param subscriber_hash: The MD5 hash of the lowercase version of the
  list member’s email address.
:type subscriber_hash: :py:class:`str`
:param note_id: The id for the note.
:type note_id: :py:class:`str`
:param data: The request body parameters
:type data: :py:class:`dict`
data = {
    "note": string*
}