Python Doublecheck, find occurrences of an element, in a list

  • Thread starter Thread starter late347
  • Start date Start date
  • Tags Tags
    Element List
AI Thread Summary
The discussion revolves around counting occurrences of an element in a Python list. The initial code provided successfully counts how many times "citrus" appears in the list. Participants suggest more efficient methods, such as using the built-in `list.count()` function, which simplifies the task. There's also interest in exploring dictionaries for counting occurrences, with a suggestion to combine two loops into a dictionary comprehension. However, issues arise when attempting to run the code on a specific online platform, leading to a SyntaxError. The consensus highlights the importance of using a standard Python interpreter for compatibility and efficiency.
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)
 
Technology 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 late347
Fightfish said:
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
Yes perform task as fast as possible (efficient) I will give it a read next weekend
 
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 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 ChrisVer
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')
 
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 ChrisVer
your guess is right
 
  • #10
I used idle and python 3.3.5 ;32bit
 

Similar threads

Replies
2
Views
953
Replies
4
Views
2K
Replies
43
Views
4K
Replies
3
Views
1K
Replies
5
Views
2K
Replies
23
Views
2K
Back
Top