Problem with list.insert
Diez B. Roggisch
deets at nospam.web.de
Thu Aug 28 13:31:56 EDT 2008
SUBHABRATA schrieb:
> Some people in the room told I am kidding, but I learnt Python from
> Python docs which gives examples like these,
> But I write explicit comments,
> an excerpt from python docs:
> # Measure some strings:
> ... a = ['cat', 'window', 'defenestrate']
>>>> for x in a:
> ... print x, len(x)
> ...
> cat 3
> window 6
> defenestrate 12
> But well, if you are suggesting improvement I'll surely listen.
Please! Just because a tiny 3 lines example involing just *one* list
doesn't give that a long & speaking name does not mean
> The outputs are given in Hindi, it is a dictionary look up program,
> the matching words are in Hindi, you may leave aside them.
> How to debug the result string is to see the words which are in
> English as the group page does not take italics so I am putting one
> asterisk* after it
> NO PROBLEM:
> INPUT:
> he has come
> OUTPUT IS
> उओह/ उन्होने रहेसाक्ता २.यात्राकरना
> PROBLEM:
> INPUT:
> (i) Lincoln* has come
> OUTPUT IS:
> रहेसाक्ता २.यात्राकरना lincoln*
> lincoln lincoln* रहेसाक्ता २.यात्राकरना lincoln
> lincoln lincoln* lincoln* रहेसाक्ता २.यात्राकरना lincoln
> ….and increasing the number and seems a never ending process.
> MY EXPEPECTED STRING IS:
> lincoln रहेसाक्ता २.यात्राकरना lincoln^
> The latter places marked^ I am editing don't worry for that,
> though MY FINAL EXPECTED STRING IS:
> lincoln रहेसाक्ता २.यात्राकरना
> Best Regards,
> Subhabrata.
>
>
>
> Marc 'BlackJack' Rintsch wrote:
>> On Thu, 28 Aug 2008 09:13:00 -0700, SUBHABRATA wrote:
>>
>>> import re
>>> def wordchecker1(n):
>>> # INPUTTING STRING
>>> a1=raw_input("PRINT ONE ENGLISH SENTENCE FOR DICTIONARY CHECK:")
>>> #CONVERTING TO LOWER CASE
>>> a2=a1.lower()
>>> #CONVERTING INTO LIST
>>> a3=a2.split()
>>> #DICTIONARY
>>> a4=open("/python25/Changedict3.txt","r") a5=a4.read()
>>> a6=a5.split()
>>> found=[]
>>> not_found=[]
>>> #SEARCHING DICTIONARY
>>> for x in a3:
>>> a7="\n"
>>> a8=a7+x
>>> if a8 in a5:
>>> a9=a5.index(a8)
>>> a10=a5[a9:]
>>> a11=re.search("\xe0.*?\n",a10)
>>> a12=a11.group()
>>> a13=a12[:-1]
>>> found.append(a13)
>>> elif a8 not in a5:
>>> a14=x
>>> not_found.append(a14)
>>> else:
>>> print "Error"
>>> found.extend(not_found)
>>> # THE OUTPUT
>>> print "OUTPUT STRING IS"
>>> a15=(' '.join(found))
>>> #THE OUTPUT STRING
>>> print a15
>>> # SPLITTING OUTPUT STRING IN WORDS
>>> a16=a15.split()
>>> #TAKING OUT THE WORD FROM OUTPUT STRING for word in a16:
>>> #MATCHING WITH GIVEN STRING
>>> a17=a2.find(word)
>>> if a17>-1:
>>> print "The word is found in the Source String"
>>> a18=a3.index(word)
>>> a19=a3[a18]
>>> print a19
>>> #INSERTING IN THE LIST OF TARGET STRING
>>> a20=a16.insert(a18,a19)
>>> print a16
>>> a21=(" ".join(a16))
>>> print a21
>> a1, a2, a2, …, a20? You must be kidding. Please stop numbering names
>> and use *meaningful* names instead!
>>
>> Could you describe them problem better, with sample inputs and expected
>> outputs. There must be a better way that that unreadable mess above.
>>
>> Ciao,
>> Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list