input: Write a function to create a linked list in Python using the provided class definition. The function should accept a list of values and return the head of the linked list. If the input list is empty, the function should return None.
  
  class ListNode:
      def __init__(self, data):
          self.data = data
          self.next = None
  
  def create_linked_list(values):
      if not values:
          return None
      head = ListNode(values[0])
      current = head
      for value in values[1:]:
          current.next = ListNode(value)
          current = current.next
      return head
  
  assert create_linked_list([1, 2, 3]).data == 1
  assert create_linked_list([4, 5]).next.data == 5
  assert create_linked_list([6]).next == None
  assert create_linked_list([]) == None
output: def create_linked_list(values):
      if not values:
          return None
      head = ListNode(values[0])
      current = head
      for value in values[1:]:
          current.next = ListNode(value)
          current = current.next
      return head