zip vararg
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 5.1k
- Forks
- 2.1k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 82
Beschreibung
mypy 0.950 (compiled: yes) and Python 3.10.4:
z1 = list(zip((1, 10), (2, 20), (3, 30))) # correct: list[Tuple[int, int, int]]
z2 = list(zip(*[(1, 10), (2, 20), (3, 30)])) # list[tuple[Any, ...]] but I expect list[tuple[int, int, int]]
Any chance to get mypy infer the type of zip(*l)?
Thanks for reading!
For the story it comes from here https://github.com/joelgrus/data-science-from-scratch/blob/d5d0f117f41b3ccab3b07f1ee1fa21cfcf69afa1/first-edition/code-python3/machine_learning.py#L18 !
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere die Beispiele mit mypy 0.950 und Python 3.10.4, einschließlich des Beispiels machine_learning.py in der verlinkten Zeile. Untersuche, wie der Ausdruck zip(*l) typisiert wird, und vergleiche ihn mit dem direkten zip-Aufruf; als erledigt gilt die Aufgabe, wenn das inferierte Ergebnis mit den erwarteten Tupel-Elementtypen übereinstimmt, ohne falsches Verhalten bei anderen zip-Aufrufen einzuführen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100