Methode # 1: Gebruik sum () + split ()
+ lijstbegrip + enumerate()
Combinatie van het bovenstaande functies kunnen worden gebruikt om deze taken uit te voeren. In dit geval wordt de splitsing uitgevoerd door koppelteken en komma en dienovereenkomstig worden het bereik, de getallen geëxtraheerd en gecompileerd in een lijst.
# Python3-code om te demonstreren hoe het werkt
# Converteer reeksreeksen naar een lijst
# Gebruik som ( ) + lijstbegrip + enumerate () + split ()
# initialisatietekenreeks
test_str
=
"1, 4-6, 8-10, 11"
# print originele regel
print
(
"De originele string is:"
+
test_str)
# Converteer reeksreeksen naar een lijst
# Gebruik van sum () + lijstbegrip + enumerate () + split ()
res
=
sum
(((
lijst
(
bereik
(
*
[
int
(b)
+
c
voor
c, b
in
enumerate
(a.split (
`-`
))]))
if
` -`
in
a
else
[
int
(a)])
voor
een
in
test_str.split (
`, `
)), [ ])
# print resultaat
print
(
"Lijst na conversie van string:"
+
str
(res))
Uitvoer:
De originele string is: 1, 4-6, 8-10, 11 Lijst na conversie van string: [1, 4, 5, 6, 8, 9, 10, 11]
Methode #2: Gebruik map () + splitsen ()
+ lambda
Deze taak kan ook worden uitgevoerd met behulp van de bovenstaande functies. Vergelijkbaar met de methode hierboven. Het enige verschil is dat we map ()-functies en lambda-expressies gebruiken om de complexe leesbaarheid te verminderen. Werkt alleen met Python2.
Afsluiten: De originele string is: 1, 4-6, 8-10, 11 Lijst na conversie van string: [1, 4, 5, 6, 8, 9, 10, 11] Python | Tekenreeksbereiken converteren naar lijst exp: QuestionsPython | Tekenreeksbereiken converteren naar lijst Python functions: QuestionsShopLatest questions Wiki |