TYP: core.sorting
both mypy and i have a hard time with `labels, lshape = map(list, zip(*map(maybe_lift, labels, lshape)))`
> both mypy and i have a hard time with `labels, lshape = map(list, zip(*map(maybe_lift, labels, lshape)))`

I just tried
```python
zip(*(maybe_lift(label, shape_) for label, shape_ in zip(labels, shape)))
```
and it seems to work:

```diff
diff --git a/pandas/core/sorting.py b/pandas/core/sorting.py
index ee62254052..dc4c21a3e4 100644
--- a/pandas/core/sorting.py
+++ b/pandas/core/sorting.py
@@ -147,9 +147,7 @@ def get_group_index(labels, shape: Shape, sort: bool, xnull: bool):
     if not xnull:
         # error: Incompatible types in assignment (expression has type
         # "List[_T]", variable has type "List[int]")
-        labels, lshape = map(  # type: ignore[assignment]
-            list, zip(*map(maybe_lift, labels, lshape))
-        )
+        labels, shape = zip(*(maybe_lift(label, shape_) for label, shape_ in zip(labels, shape)))
 
     labels = list(labels)
```
```console
$ mypy pandas
Success: no issues found in 1283 source files
```
`pandas/tests/test_sorting.py ` still passes too @MarcoGorelli is there a convenient way to get rid of the "*"?  this feels like the kind of thing where the answer is hitting me in the face... Could define `unzip` somewhere as suggested here https://stackoverflow.com/a/22115957 . Might make it less mysterious than `zip(*`