[Tutor] Recursive list checking
joe_schmoe
geek_show at dsl.pipex.com
Fri Apr 8 17:55:26 CEST 2005
Dear Pythonites
I am looking for a more elegant solution to a piece of code that is too
unwieldy and reptitive. The purpose of the code is for a new addition to
a list to check whether it is a duplicate of a list element already a
member of that list, and if so to regenerate itself randomly and to
perform the same check again until such time as it is unique.
For example, this is what I am currently doing:
=============code block ========================
# generate unique numbers and append to list
nmbr01 = random.randrange( 1, 20 )
nmbr_list.append( nmbr01 )
nmbr02 = random.randrange( 1, 20 )
# check for duplicates and re-generate a number if needed
while nmbr02 in nmbr_list:
nmbr02 = random.randrange( 1, 20 )
nmbr_list.append( nmbr02 )
nmbr03 = random.randrange( 1, 20 )
while nmbr03 in nmbr_list:
nmbr03 = random.randrange( 1, 20 )
nmbr.append( nmbr03 )
================================================
This method works, but increasing the numbers to be appended makes the
code excessively long. I can't see anything in list methods that seems
to do the trick, so anybody want to make a suggestion please?
TIA
/j
More information about the Tutor
mailing list