2017-03-29 4 views
0

Ich bin auf der Suche nach einer Möglichkeit zu zählen, wie viele Instanzen eines bestimmten Charakters in einem 2D-Array, mit dem ich arbeite, sind. Zum Beispiel, wenn ich das Array aus drucken, kann es wie folgt aussehen:Einfache Möglichkeit zum Zählen der Anzahl der spezifischen Elemente im 2D-Array Python

[['.', '.'], ['.', 'R']] 

Gelegentlich dieses Array viel größer sein wird, und ich bin für eine gute Möglichkeit, die Anzahl der Instanzen so etwas wie "zu bekommen R 'zum Beispiel, damit ich es in einer zukünftigen if-Anweisung verwenden kann. Danke im Voraus.

+0

Ja, du hast Recht. Diese Antwort hat gut funktioniert, danke! – laroy

Antwort

0

Ein verkürzter Weg wäre:

def countChar(char, list): 
    return sum([i.count(char) for i in list]) 

Das muss nicht eine Funktion sein, es Ihnen gefällt verwenden:

test=[['x','r','a'],['r','t','u'],['r','r','R']] 
sum([i.count('r') for i in test]) 

Welche kehrt 4.

0

Sofern ich Ihre Frage nicht völlig falsch verstanden habe, sollte dies Ihnen gut passen.

def count_chars(char, list): 
    count = 0 
    for element in list: 
     count += element.count(char) 
    return count 

Ich bin sicher, es ist eine leistungsfähigere Art und Weise, dies zu tun, aber ich werde das verlassen für Sie zu erkunden;)

Verwandte Themen