Methode Nr. 1: Verwendung von sum () + split ()
+ list comprehension + enumerate()
Kombination der oben genannten Funktionen können verwendet werden, um diese Aufgaben zu erfüllen. In diesem Fall erfolgt die Aufteilung per Bindestrich und Komma und dementsprechend der Bereich, die Nummern werden extrahiert und zu einer Liste zusammengestellt.
# Python3-Code, um zu demonstrieren, wie es funktioniert
# Stringbereiche in eine Liste umwandeln
# Verwendung von sum ( ) + list comprehension + enumerate () + split ()
# Initialisierungsstring
test_str
=
"1, 4-6, 8-10, 11"
# Originalzeile drucken
print
(
"The original string is:"
+
test_str)
# Stringbereiche in eine Liste umwandeln
# Using sum () + list comprehension + enumerate () + split ()
res
=
sum
((
list
(
range
(
*
[
int
(b)
+
c
für
c, b
in
aufzählen
(a.split (
`-`
))]))
if
` -`
in
a
else
[
int
(a)])
für
ein
in
test_str.split (
`, `
)), [ ])
# Druckergebnis
print
(
"Liste nach Umwandlung von string:"
+
str
(res))
Ausgabe:
Der ursprüngliche String ist: 1, 4-6, 8-10, 11 Liste nach Umwandlung von String: [1, 4, 5, 6, 8, 9, 10, 11]
Methode Nr. 2: Verwendung von map() + Teilt ()
+ Lambda
Diese Aufgabe kann auch mit den oben genannten Funktionen erledigt werden. Ähnlich der Methode oben. Der einzige Unterschied besteht darin, dass wir map()-Funktionen und Lambda-Ausdrücke verwenden, um die komplexe Lesbarkeit zu reduzieren. Funktioniert nur mit Python2.
Exit: Der ursprüngliche String ist: 1, 4-6, 8-10, 11 Liste nach Konvertierung von String: [1, 4, 5, 6, 8, 9, 10, 11] ShopLatest questions Wiki |