Ask Your Question
1

x.digits() for x decimal

asked 8 years ago

logomath gravatar image

Let sage: x=1416 sage: v=x.digits() sage: v.reverse(); v gives [1, 4, 1, 6] That doesn't work for x decimal, as x=3.1416 I would like to have [3, 1, 4, 1, 6] as result in a simple way.

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 8 years ago

tmonteil gravatar image

There is no such method, but you can do the following:

sage: [i for i in x.str(skip_zeroes=True) if i.isdigit()]
['3', '1', '4', '1', '6']
Preview: (hide)
link

Comments

Ok, how to reduce it to [3, 1, 4, 1, 6] ?

logomath gravatar imagelogomath ( 8 years ago )

You can simply add ZZ: [ZZ(i) for i in x.str(skip_zeroes=True) if i.isdigit()].

B r u n o gravatar imageB r u n o ( 8 years ago )

Thank you!

logomath gravatar imagelogomath ( 8 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 8 years ago

Seen: 938 times

Last updated: Aug 18 '16