Is there a way to subtract 3 from every digit of a number?

Dan Stromberg drsalists at gmail.com
Sat Feb 20 13:20:42 EST 2021


Convert to a str.
Convert to a list of ints, one for each digit
Add 7 mod 10, for each digit in the list
Convert to a list of single-character str's
Catenate those str's back together
Convert to a single int



On Sat, Feb 20, 2021 at 6:45 AM C W <tmrsg11 at gmail.com> wrote:

> Hello everyone,
>
> I'm curious if there is a way take number and back each digit by 3 ?
>
> 2342 becomes 9019
> 8475 becomes 5142
> 5873 becomes 2540
>
> The tricky part is that 2 becomes 9, not -1.
>
> Here's my toy example and what I attempted,
> > test_series = pd.Series(list(['2342', '8475', '5873']))
> > test_series
> 0    2342
> 1    8475
> 2    5873
> dtype: object
>
> > test_series.str.split('')
> [, 2, 3, 4, 2, ]
> [, 8, 4, 7, 5, ]
> [, 5, 8, 7, 3, ]
> dtype: object
>
> What a good approach to this? Is there a method or function that should be
> handling this?
>
> Thanks so much!
>
> Mike
> --
> https://mail.python.org/mailman/listinfo/python-list
>


More information about the Python-list mailing list