aboutsummaryrefslogtreecommitdiff
path: root/challenge-322/ysth/python/ch-2.py
blob: 058872eccaa97215a2d13e1ef334c1de387a1772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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(
        operator.itemgetter(*integers)(
            {
                value: str(i + 1)
                for i, value in enumerate(sorted(set(integers)))
            }
        )
    )
)