diff options
| author | Yitzchak Scott-Thoennes <sthoenna@gmail.com> | 2025-05-19 18:00:02 -0400 |
|---|---|---|
| committer | Yitzchak Scott-Thoennes <sthoenna@gmail.com> | 2025-05-20 08:26:13 -0400 |
| commit | a65673de75201e1ca7da5530b037fcf40dbee37b (patch) | |
| tree | fa8b8df66df6e010ee5536ff002537dc1787b126 | |
| parent | 68f9929d37899a229ef9a247770e4032899e6639 (diff) | |
| download | perlweeklychallenge-club-a65673de75201e1ca7da5530b037fcf40dbee37b.tar.gz perlweeklychallenge-club-a65673de75201e1ca7da5530b037fcf40dbee37b.tar.bz2 perlweeklychallenge-club-a65673de75201e1ca7da5530b037fcf40dbee37b.zip | |
challenge 322 better python solution for challenge 2 by ysth
| -rw-r--r-- | challenge-322/ysth/python/ch-2.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/challenge-322/ysth/python/ch-2.py b/challenge-322/ysth/python/ch-2.py index 75301f87a5..058872ecca 100644 --- a/challenge-322/ysth/python/ch-2.py +++ b/challenge-322/ysth/python/ch-2.py @@ -1,17 +1,19 @@ import sys +import operator integers = [int(value) for value in sys.argv[1:]] +# python doesn't have a clean dict slice syntax; usually a comprehension +# is used (e.g. (mydict[key] for key in mykeys)), but that evaluates the +# dict expression more than once, so use itemgetter or a map + print( " ".join( - list( - map( - { - value: str(i + 1) - for i, value in enumerate(sorted(set(integers))) - }.__getitem__, - integers, - ) + operator.itemgetter(*integers)( + { + value: str(i + 1) + for i, value in enumerate(sorted(set(integers))) + } ) ) ) |
