Hier ist ein direkter Ansatz für das Problem.
%Vor%Ich habe eine Reihe von Zahlen, sagen Sie Folgendes:
%Vor%Die dort dargestellten Informationen könnten in Python als Bereiche dargestellt werden:
%Vor% In meiner Ausgabe würde ich 1..4, 6..8, 20..32..4
schreiben, aber das ist nur eine Frage der Präsentation.
Eine andere Antwort zeigt, wie man dies für zusammenhängende Bereiche tun kann. Ich sehe nicht, wie ich das für schrittige Bereiche wie oben leicht machen kann. Gibt es dafür einen ähnlichen Trick?
Test:
%Vor%Sie können %code% und %code% von %code% Modul zusammen mit %code% von %code% modul verwenden, wie in diesem Beispiel:
Update: Sehen Sie sich die Kommentare an, um die Logik hinter dieser Lösung und ihren Einschränkungen zu verstehen.
%Vor%Ausgabe:
%Vor%Einschränkungen:
Mit dieser Art von Eingabe:
%Vor%Wird ausgegeben:
%Vor%Fühlen Sie sich frei, diese Lösung zu verwenden und sie zu übernehmen oder zu modifizieren, um Ihre Bedürfnisse zu erfüllen.
Ich habe eine Reihe von Zahlen, sagen Sie Folgendes:
%Vor%Die dort dargestellten Informationen könnten in Python als Bereiche dargestellt werden:
%Vor%In meiner Ausgabe würde ich %code% schreiben, aber das ist nur eine Frage der Präsentation.
Eine andere Antwort zeigt, wie man dies für zusammenhängende Bereiche tun kann. Ich sehe nicht, wie ich das für schrittige Bereiche wie oben leicht machen kann. Gibt es dafür einen ähnlichen Trick?
Hier ist ein direkter Ansatz für das Problem.
%Vor%Es ist vielleicht nicht sehr kurz oder elegant, aber es scheint zu funktionieren:
%Vor%Dies iteriert über einen Iterator der Liste und liefert Bereichsobjekte:
%Vor%Es behandelt auch negative Bereiche und Bereiche, die nur ein Element haben:
%Vor% Sie können groupby
und count
von itertools
Modul zusammen mit Counter
von collections
modul verwenden, wie in diesem Beispiel:
Update: Sehen Sie sich die Kommentare an, um die Logik hinter dieser Lösung und ihren Einschränkungen zu verstehen.
%Vor%Ausgabe:
%Vor%Einschränkungen:
Mit dieser Art von Eingabe:
%Vor%Wird ausgegeben:
%Vor%Fühlen Sie sich frei, diese Lösung zu verwenden und sie zu übernehmen oder zu modifizieren, um Ihre Bedürfnisse zu erfüllen.
Test:
%Vor%Sie können %code% und %code% von %code% Modul zusammen mit %code% von %code% modul verwenden, wie in diesem Beispiel:
Update: Sehen Sie sich die Kommentare an, um die Logik hinter dieser Lösung und ihren Einschränkungen zu verstehen.
%Vor%Ausgabe:
%Vor%Einschränkungen:
Mit dieser Art von Eingabe:
%Vor%Wird ausgegeben:
%Vor%Fühlen Sie sich frei, diese Lösung zu verwenden und sie zu übernehmen oder zu modifizieren, um Ihre Bedürfnisse zu erfüllen.
Ich habe eine Reihe von Zahlen, sagen Sie Folgendes:
%Vor%Die dort dargestellten Informationen könnten in Python als Bereiche dargestellt werden:
%Vor%In meiner Ausgabe würde ich %code% schreiben, aber das ist nur eine Frage der Präsentation.
Eine andere Antwort zeigt, wie man dies für zusammenhängende Bereiche tun kann. Ich sehe nicht, wie ich das für schrittige Bereiche wie oben leicht machen kann. Gibt es dafür einen ähnlichen Trick?
Hier ist ein direkter Ansatz für das Problem.
%Vor%Es ist vielleicht nicht sehr kurz oder elegant, aber es scheint zu funktionieren:
%Vor%Dies iteriert über einen Iterator der Liste und liefert Bereichsobjekte:
%Vor%Es behandelt auch negative Bereiche und Bereiche, die nur ein Element haben:
%Vor%Tags und Links python