[Tutor] Checking for string in a list strangeness

Kent Johnson kent37 at tds.net
Mon Apr 6 14:54:17 CEST 2009

On Mon, Apr 6, 2009 at 8:26 AM, AdamC <kabads at gmail.com> wrote:
> 2009/4/6 Kent Johnson <kent37 at tds.net>:
>> On Mon, Apr 6, 2009 at 3:30 AM, AdamC <kabads at gmail.com> wrote:
>>> I'm writing a small cgi application for children to use and I want to
>>> check that the name they enter isn't a swear word.
>>> #for i in swearlist:       # shows swear list OK
>>> #    print i;
>> Perhaps the words in swearlist include some  whitespace? Try
>> for i in swearlist:
>>  print repr(i)
>> and look for leading and trailing spaces, tabs, etc.
>> Kent
> I think you're on to something here Kent. Thanks. There doesn't appear
> to be any whitespaces in the words but an entry in the list appears
> like this:
> print swearlist[0]
> returns
> ('xxxx',)
> where xxxx is the expletive in the database.

Ah, yes, the result of mycursor.fetchone() is a tuple containing the
fetched elements. Even though you are only reading one field, it is
still returned in a tuple. That is what the parentheses and comma
signify. Try this:

swearlist = []
for i in range (0, myrowcount):
   myrow = mycursor.fetchone()


More information about the Tutor mailing list