Question on List
Chris
cwitts at gmail.com
Fri Jun 27 05:59:51 EDT 2008
On Jun 27, 9:51 am, subhabrata.i... at hotmail.com wrote:
> Dear All,
> I am trying to write the following code:
>
> def try1(n):
> a1="God Godess Borother Sister Family"
> a2=a1.split()
> a3=raw_input("PRINT A WORD")
> a4=a1.find(a3)
> print a4
> a5=[]
> if a4>0:
> a5=a2.index(a3)
> a6=a5+1
> a7=a2[a6]
> print "The new word is"
> print a7
> a8=a5.append(a7)
> print a5
> elif a4<0:
> a11=a3
> print "The word is not availiable in String"
> print a11
> a6=a5.append(a11)
> print a5
> else:
> print "Error"
>
> Now, my question is I like to see a5 or the empty list as appended
> with elements. Results I am getting is a5 giving single value like
> ['God'],['Godess']... but I like to see it as ['God','Godess'...] etc.
> Am I going wrong?
> Do I have to rethink it in some other way?
> If any one can kindly let me know.
> Best Regards,
> Subhabrata.
First notes, the string .find() method return -1 for not found and
zero or above if the search string is present. Remember you count
from zero. Secondly, list .append() methods do not return a new list
but modify the list in place. Thirdly, the .index() method of a list
requires an integer and not a string. And lastly, indentation should
be 4 spaces not 8.
Just doing a sloppy job on the code (and my interpretation of what you
wanted)
def try1(n):
new_list = []
input_string="God Godess Borother Sister Family"
while n:
user_selection=raw_input("PRINT A WORD")
if input_string.find(user_selection) > -1:
s = input_string.split()
i = [i for i,j in enumerate(s) if j == user_selection]
new_word = s[i+1]
print 'The new word is %s' % new_word
new_list.append(new_word)
print new_list
else:
print 'User selection of "%s" not in the string.' %
user_selection
new_list.append(user_selection)
print new_list
n -= 1
Obviously I'm going to assume that the code you posted excluded your
loop control for the "try n amount of times". What was most likely
the cause is that you loop through your structure for every attempt of
the n times but each time you reset your list when you re-create it.
Hope that helps some.
Chris
More information about the Python-list
mailing list