A blog on Python with tutorials, code, programs, tips and tricks, how-to, book-list, crawler / spider help, data structure and algorithm implementation and many more ...
s = 'abc's = s[::-1]print s
Yeah, but it might be useful to explain to newbies what the slice notation does. If I were new to Python, then "s[::-1]" would look positively odd to me... I certainly would not think it reverses the string. Just a thought. :-)--Hans
Thanks for your comment. I didn't explain it as I thought it would be fun for anyone who tries to think how s[::-1] works :)
i appreciate.it really helpful.thanks.
Simple yet so useful! Thanks :)
explain how it works ?or any link for explanation will be helpful.thanks.
Bhavin Patel: "::" is known as stride notation.Example:>>> foo = [2, 5, 1, 8]Regular slice (returns all)>>> foo[:][2, 5, 1, 8]Slice with stride (returns every nth)>>> foo[::2][2, 1]Stride works inversely as well>>> foo[::-2][8, 5]Hence it can be used to reverse a string (stride backwards using step length of one)>>> 'foobar'[::-1]'raboof'There is another way to reverse as well. This can be done using "reversed" generator:>>> ''.join([char for char in reversed('foobar')])'raboof'As the list comprehension returns a list I had to join it separately. Normally the [::-1] trick should work just fine. "reversed" may be useful in some special cases, however.Check out http://www.python.org/doc/2.3.5/whatsnew/section-slices.html for more comprehensive documentation.
Thank you very much its simple and nice
It's very nice... yare
s = 'abc's = s[::2]print s#for this code it returns ac#how
it should be "ca", isn't it?
thanks it is very helpful and explained very wellDoes anyone know what i should use to extract string/substring from a string?
That really proves the power of python, for which it would take couple of lines in other languages.
Python is really a nice language. Just for comparison, that is how i would do it in perl:print $string = reverse("ABC")
thanks......workz perfectly as i expected
>>>s='spam'>>>print s[:]spam>>>print s[::-1]maps>>>print s[0:len(s)]spam>>>print s[0:len(s):-1](prints nothing)Any reason, why ??
@saikats='abc'print s[::-2]returns 'ca' only...
i'm new to python, i need a program to convert any decimal number in to octal(base 8):using python 2.7 ,can any one give me an idea how to write it :please help me~!
@casperYou could do this:oct(12)that would return'014' as a stringTo enter an octal number literal, precede with a 0:0122 will return 82 in base 10to go from an octal string to an int:int('014',8)
You can also use this technique to reverse words in a sentence:>>> sentence = "one two three four">>> ' '.join( [ word[::-1] for word in sentence.split() ] )[::-1]'four three two one'
The above example is simplified as>>> sentence = "one two three four">>> ' '.join( [ word for word in sentence.split() ] [::-1])'four three two one'
but when I tried it, it doesn't print the space between the reversed i.e the output is like this fourthreetwoone
Hmm, i did it but here's what I thought regarding this.[::-1][:] <-- this gets all of the stringwhile [::(value)] skips or reverse the string. if it is negative, the skipping starts from the last character of the string depends on the number. for example, you can put -2 instead of -1. s = 'abcdef's = s[::-2]print s if counted base on the slice number, it would creat a group of three which are fe, dc and ba. the first character of each group (f,d,b) will appended to formed a value and stored it to the variable 's'.
maybe the easiest way is revword = ''for letter in reversed(word): revword += letterprint revword
Post a Comment