Elegantes Format für eine MAC-Adresse in Python 3.2

8

Ich suche eine elegantere Lösung zum Formatieren einer MAC-Adresse mit Doppelpunkten. Ich benutze Python 3.2. Ein schickes Listenverständnis vielleicht?

%Vor%     
jftuga 13.06.2012, 00:29
quelle

6 Antworten

12

Ihr Code wird leicht in ein Verständnisformular umgewandelt:

%Vor%     
Lev Levitsky 13.06.2012, 00:39
quelle
1

Nicht sicher, wie schön das ist, aber es wird tun, was Sie fragen:

%Vor%

gibt:

%Vor%     
Levon 13.06.2012 00:36
quelle
1

Dies ist nicht die kürzeste Lösung, akzeptiert aber alle gängigen Arten von Mac-Formaten als Eingaben. Es führt auch einige Validierungsprüfungen durch.

%Vor%

Hier ist eine Liste von Mac Adressfolgen und ob sie als gültig oder ungültig betrachtet werden:

%Vor%

Alle gültigen werden in der kanonischen Form wie folgt zurückgegeben:

%Vor%     
Simon Schürg 04.04.2015 11:55
quelle
0

Nun, ich könnte mit etwas ziemlich Spezifischem beginnen, da Sie wissen, dass es eine MAC-Adresse ist, die Sie die genaue Größe und das Format kennen.

%Vor%

Aber wir können das besser machen, wenn wir eine Klasse erstellen und ihr dann sagen, wie sie ihre Zeichenfolge formatiert.

%Vor%     
ChipJust 13.06.2012 00:44
quelle
0

Die einfachste Lösung ist hier die Verwendung von str.join()

%Vor%

Hier wird eine modifizierte Version des grouper() Rezepts von itertools docs:

verwendet %Vor%     
Gareth Latty 13.06.2012 00:39
quelle
0
%Vor%

Gewinnt das für die höchste Dichte der Klammern?

    
D.Shawley 13.06.2012 01:09
quelle

Tags und Links