Problem ze zmianą sting na int

Problem ze zmianą sting na int
SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 73
0

Mam prosty kodzik który mnie po prostu załamał. Kod jest częścią większego programu. I po prostu utknąłem. Pewnie to błahostka ale mnie położyła na łopatki. Otóż:

Kopiuj
liczby = '15,45,34,17,19'
print(type(liczby))
lista=[liczby]

Potrzebuje z listy wyciągnąć pojedyncze liczby i przekształcić na int ( z tym sobie poradzę), ale jak wyciągnąć pojedynczą liczbę?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

liczby[0], liczby[1] itd.

stivens
  • Rejestracja: dni
  • Ostatnio: dni
5

Niestety liczby[0] daje wynik 15,45,34,17,19 -- ten ciąg znaków zapisany jest jako string i dlatego nie potrafię wyciągnąć pojedynczej cyfry

.split(",")

SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 73
0

@stivens: Jesteś Wielki, dziękuję za pomoc, nie wiem dlaczego sam na to nie wpadłem

Spearhead
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1007
1

Można też użyć:

Kopiuj
>>> import re
>>> re.findall('\d+', '15,45,34,17,19')
['15', '45', '34', '17', '19']

split() zwróci też puste stringi dla pary przecinków jak i stringi nie będące liczbami

Kopiuj
>>> re.findall('\d+', '22,33,,foo,bar')
['22', '33']
>>> '22,33,,foo,bar'.split(',')
['22', '33', '', 'foo', 'bar']

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.