Chris, Thanks for the tip on the function. I was not aware of that function, Grin. Creating the function as you mention makes a lot of sense.
I am doing a lot of little bits and pieces focusing on things I need to eventually build a script that is going to compile data from a router and config it. I have hundreds of other questions, if I don't find answers on the net before hand. Sean On 04/01/2014, at 6:52 PM, Cameron Simpson <c...@zip.com.au> wrote: > On 04Jan2014 16:54, Sean Murphy <mhysnm1...@gmail.com> wrote: >> Thanks everyone. >> >> Mark thanks for the correction on the ':'. Since I didn't cut and copy, >> rather typed it out. Errors crept in. :-) >> >> another question in relation to slicing strings. If you want to get a single >> character, just using the index position will get it. If I use the >> following, shouldn't it also work? when I use Python 3.3, it didn't provide >> anything. >> >> a = "test.txt" >> print a[3] >> result is: >> >> 't > > As expected, yes? > >> print a[3:1] >> Nothing is printed. >> >> print a[3:2] >> Nothing is printed. > > These are not requests for 1 and 2 character strings. They are > requests for the character in the span from, respectively, 3 to 1 > and from 3 to 2. Important: counting FORWARDS. So: zero length > strings. > >> print a[3:-1] >> t.tx is printed. >> >> Why doesn't the positive number of characters to be splice return anything >> while the negative value does? > > -1 is shorthand for len(a)-1 > It is often convenient to refer to a position from the end of the > array instead of the start. > > So this means: [3:7], so positions 3,4,5,6. > >> sorry about these basic questions. I do like the splice feature within >> Python. Also what is the best method of testing for a blank string? > > Well, and empty string: a == '' or len(a) == 0. > And, because an "if" tests the nonzeroness of a single argument and > an empty string has length zero, you can also go: > > if a: > print "long string", a > else: > print "empty string" > > OTOH, if you mean a "blank string" to mean "containing only > whitespace", you can use the string method "isspace", which tests > that all characters are whitespace and that the string is not empty. > The doco for isspace() actually says: > > Return true if there are only whitespace characters in the string > and there is at least one character, false otherwise. > > So you might write: > > if not a or a.isspace(): > print "blank string:", repr(a) > > Really you'd want to put that it a (trivial) function: > > def isblank(s): > ''' Test that the string `s` is entirely blank. > ''' > return not s or s.isspace() > > That way you can write isblank() all through your program and control the > precise meaning by modifying the function. > > Cheers, > -- > > The perl5 internals are a complete mess. It's like Jenga - to get the perl5 > tower taller and do something new you select a block somewhere in the middle, > with trepidation pull it out slowly, and then carefully balance it somewhere > new, hoping the whole edifice won't collapse as a result. > - Nicholas Clark, restating an insight of Simon Cozens -- https://mail.python.org/mailman/listinfo/python-list