[Tutor] Counting Items in a List

Oğuzhan Öğreden ogreden at gmail.com
Wed Jun 20 15:44:19 CEST 2012


Sorry, it seems like I was not clear enough in that statement. I should
have written something like "counting how many times each word occured"
insted of "counting words".

2012/6/20 mariocatch <mariocatch at gmail.com>

> Hello,
>
> Not sure if this is what you're trying to solve, although it sounds like
> it based on your leading statement.
> I think what you have is more complicated than it needs to be for
> something that simple:
> Why not something like this?
>
> *    paragraph = """I have been learning Python and trying little bits of
> coding for a while. Recently I tried to have a paragraph and create a list
> of its words, then counting those words. Here is the code:"""*
> *    splitParagraph = paragraph.strip().split(' ')
>     print len(splitParagraph) # yields 36
>     print splitParagraph # yields a list [] of each word separated by
> split()*
>
> **
>  -Mario
>
>
> On Wed, Jun 20, 2012 at 8:53 AM, Oğuzhan Öğreden <ogreden at gmail.com>wrote:
>
>> Hi,
>>
>> I have been learning Python and trying little bits of coding for a while.
>> Recently I tried to have a paragraph and create a list of its words, then
>> counting those words. Here is the code:
>>
>>  import re
>>>
>>>
>>>> a = """Performs the template substitution, returning a new string.
>>>> mapping is any dictionary-like \
>>>
>>> object with keys that match the placeholders in the template.
>>>> Alternatively, you can provide keyword \
>>>
>>> arguments, where the keywords are the placeholders. When both mapping
>>>> and kws are given and there \
>>>
>>> are duplicates, the placeholders from kws take precedence."""
>>>
>>>
>>>> b = []
>>>
>>> c = 0
>>>
>>>
>>>> for y in a.split(" "):
>>>
>>> b.append(y.lower())
>>>
>>>  if  re.search(",", y) != None:
>>>
>>>  c = b.index(y.lower())
>>>
>>>  b.remove(y.lower())
>>>
>>>  b.insert(c, y.strip(",").lower())
>>>
>>>  b.sort()
>>>
>>>  b.extend(["you"])
>>>
>>>  count = 0
>>>
>>>
>>>> for x in b:
>>>
>>>  count = b.count(x)
>>>
>>>   if count > 1:
>>>
>>>  c = b.index(x)
>>>
>>>  if b[c+1] != x is True:
>>>
>>>  print "%s listede %d tane var." % (x, count)
>>>
>>>  else:
>>>
>>>  print "%s listede %d tane var." % (x, count)
>>>
>>>
>>>>
>> And here are the questions:
>>
>>
>>    - This code doesn't print for the items that occur more than one
>>    time. Why?
>>    - And actually as I was writing, I realized that "if b[c+1]" may
>>    return an error if the last item on the list occured more than one,
>>    however, it didn't even if a manually made the last item occur two times.
>>    Was my initial expectation a false one? If not, how could I turn it into a
>>    b[c-1] so that it will not fail in first item?
>>
>> Thanks,
>> Oğuzhan
>>
>> _______________________________________________
>> Tutor maillist  -  Tutor at python.org
>> To unsubscribe or change subscription options:
>> http://mail.python.org/mailman/listinfo/tutor
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120620/69f43a7c/attachment.html>


More information about the Tutor mailing list