简体   繁体   中英

Python slicing with wrapping from negative to positive numbers

Say I have a string "abcde", and want to get "deab". How can I get "deab" using string slicing?

I've tried using string[-2:1] , but this gives me an empty result '' .

The project I am working on makes splitting this up into [-2:] and [:2] difficult, hence the question. Thanks!

You can simulate wrapping by doubling the string:

(string * 2)[3:7]

This is not necessarily much less efficient than getting two slices the usual way: it only creates one temporary string instead of two, but obviously requires quite a bit more space.

你可能想要这个,

s[-2:] + s[:2]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM