2017-05-13 5 views
-1

Ich bin auf eine Frage gestoßen, die mich verwirrte, also beschloss ich, nachzusehen. Allerdings bin ich ein wenig verwirrt, was einige Funktionen im Code tun. Es wurde die Frage ‚Schreiben Sie eine Funktion, um loszuwerden, doppelte Buchstaben‘Verwirrt über Python-Code (Anfänger)

def remove_duplicates(s): 
result = "" 
dic = {} 
for i in s: 
    if i not in dic: 
     result+=i 
     if ord(i.lower()) >= ord('a') and ord(i.lower()) <= ord('z'): 
      dic[i] = 1 
return result 

print(remove_duplicates("bookkeeper")) 

Ich bin ein wenig verwirrt, was der Zweck des Ergebnisses = „“ und dic = {}? Ich habe das vorher noch nie gesehen, also keine Ahnung wie es funktioniert.

Und was bedeutet das Ergebnis + = ich meine? Und schließlich habe ich absolut keine Ahnung, was in der if ord-Zeile steht. Ord ist etwas, was ich gerade vor einer Stunde gelernt habe, also habe ich keine Ahnung, wie es mit i.lower und 'a'/'z' interagiert.

+0

Ich denke, ord nicht notwendig ist, Sie könnten nur verwenden 'wenn i.islower() ' –

+1

Ich bin mir nicht ganz sicher, ob das hier eine Frage zum Thema ist [so]. Ich denke, du solltest die Grundlagen von Python lernen, bevor du hier eine Frage stellst. –

Antwort

2

result = "" erstellt eine Variable mit dem Namen result und initialisiert sie zu einer leeren Zeichenfolge.

dic = {} erstellt eine Variable mit dem Namen dic und initialisiert sie mit einem leeren Wörterbuch. (Wörterbücher sind spezielle Python-Objekte.)

result += i ist eine Kurzbezeichnung für result = result + i.

Die if ord Linie ist sicherzustellen, dass i ein Brief zwischen A und Z. ist (Obwohl dies scheint ein sehr Umwegen, es zu tun.)

Vielleicht sollten Sie einige Zeit mit einem grundlegenden Python Tutorial verbringen?

+0

Ich habe mich umgesehen, aber ich kann nicht ganz das finden, was absolut einfach ist (Vielleicht finde ich es einfach scheiße), die meisten, die ich gesehen oder gelesen habe, beinhalten andere Wörter, die ich noch nicht ganz verstehe. – Zanders2001

1

result = "" and dic = {} initialisieren Sie das Ergebnis der Variablen als leere Zeichenfolge und Dic als Wörterbuch.

result+=i mean === result = result + i

über den ord() überprüft er, ob i.lower in "Reichweite" von a - z