Doublecheck, find occurrences of an element, in a list

  • Topic: Python 
  • Thread starter Thread starter late347
  • Start date Start date
  • Tags Tags
    Element List
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
9 replies · 2K views
late347
Messages
300
Reaction score
15
I was making a little bit of a thought experiment with a simple program and wanted to double check it with you guys.

The idea was to utilize basic functionalities of python, regarding lists. Then the goal is to find out and print the number of times that a certain element occurs inside a particular list.

I think the code seems to work.

Is there a more specified way to test out whether or not a certain element appears in a list, and count how manys times that element appears in the list?

Python:
lista = [1, 2, 66, 77, 66, 54, -9, "citrus", 66, "citrus"]
citrusNumberOf = 0

for x in lista:
    if x == "citrus":
        citrusNumberOf = citrusNumberOf + 1
print(citrusNumberOf)
 
Physics news on Phys.org
late347 said:
Is there a more specified way to test out whether or not a certain element appears in a list, and count how manys times that element appears in the list?
Are you more interested in the formulation of the algorithms, or just how to perform such a task efficiently in Python? If it's the latter, there's a plethora of in-built functionality and libraries to achieve it, as succinctly summarised here: http://stackoverflow.com/questions/2600191/how-can-i-count-the-occurrences-of-a-list-item-in-python
 
  • Like
Likes   Reactions: late347
late347 said:
Is there a more specified way to test out whether or not a certain element appears in a list, and count how manys times that element appears in the list?

Yes to both, just read the documentation on list. Google finds it immediately. You can write "citrus" in lista or lista.count("citrus").
 
  • Like
Likes   Reactions: late347
Wanted to try dictionaries, what do you think about this? In particular, does anyone think that the two fors can be combined [right now I'm blind]?
Python:
lista= [1, 2, 66, 77, 66, 54, -9, "citrus", 66, "citrus"]
choice = 77
#choice = "citrus"
#choice= 66
#choice= 123456789
A=dict()
for element in lista: A[element]=0
for element in lista: A[element] += 1
if choice not in A.keys(): A[choice]=0
print A[choice]
 
ChrisVer said:
Wanted to try dictionaries, what do you think about this? In particular, does anyone think that the two fors can be combined [right now I'm blind]?

They can:
Python:
A = { k : 1 for k in lista }
 
  • Like
Likes   Reactions: ChrisVer
ChrisVer said:
hmm I guess it's a python version that can support it? Because I tried it in my fast python-resort: http://www.codeskulptor.org/
but it says
SyntaxError: bad input ('for')
At a guess this is a failure of Skulpt. If my guess is right, that's terrible. Use a standard Python interpreter.
 
  • Like
Likes   Reactions: ChrisVer