<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def list_partitions(self, table, retry=DEFAULT_RETRY):
 """List the partitions in a table. Arguments: table (Union[ \ :class:`~google.cloud.bigquery.table.Table`, \ :class:`~google.cloud.bigquery.table.TableReference`, \ str, \ ]):
 The table or reference from which to get partition info retry (google.api_core.retry.Retry):
 (Optional) How to retry the RPC. Returns: List[str]: A list of the partition ids present in the partitioned table """

        table = _table_arg_to_table_ref(table, default_project=self.project)
        meta_table = self.get_table(
            TableReference(
                self.dataset(table.dataset_id, project=table.project),
                "%s$__PARTITIONS_SUMMARY__" % table.table_id,
            )
        )

        subset = [col for col in meta_table.schema if col.name == "partition_id"]
        return [
            row[0]
            for row in self.list_rows(meta_table, selected_fields=subset, retry=retry)
        ]