<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def delete_table(self, dataset, table, project_id=None):
 """Delete a table from the dataset. Parameters dataset : str The dataset to delete the table from. table : str The name of the table to delete project_id: str, optional String id of the project Returns ------- Union[bool, dict] bool indicating if the table was successfully deleted or not, or response from BigQuery if swallow_results is set for False. """

        project_id = self._get_project_id(project_id)

        try:            
            response = self.bigquery.tables().delete(
                projectId=project_id,
                datasetId=dataset,
                tableId=table
            ).execute(num_retries=self.num_retries)
            if self.swallow_results:
                return True
            else:
                return response

        except HttpError as e:
            logger.error(('Cannot delete table {0}.{1}\n'
                          'Http Error: {2}').format(dataset, table, e.content))
            if self.swallow_results:
                return False
            else:
                return {}