Wyciąganie cyfr z ciągu tekstowego

Wyciąganie cyfr z ciągu tekstowego
S4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

WItam. Znalazłem zadanie, długi plik, wydaje się zapisany za pomocą JSON-a. Zadanie polega na wyciągnięciu z całego pliku cyfr i zsumowanie ich. Można jakąś pętlą/funkcją wyciągnąć cyfry. No i jeśli jest napisany w JSON to czy muszę użyć konsoli JavaScript, czy w Pythonie da radę?

JA
  • Rejestracja: dni
  • Ostatnio: dni
1

sum(int(ch) for ch in json if ch.isdigit())

S4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

import json
json = json.dumps(ciąg tekstowy)
x=[]
x.append(sum(int(ch) for ch in json if ch.isdigit()))
print(x)
wyskoczyła mi liczba. ten zapis jest ok?

JA
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie rozumiem, po co Ci zmienna x (jako lista).

  • Rejestracja: dni
  • Ostatnio: dni
1

Lepsze podejście:

Kopiuj
> grep -P -o '\d' big10.txt | awk '{ sum += $0 }; END { print 0 + sum }'
1031770
> grep -P -o '\d' big10.txt | datamash sum 1
1031770
> 
Kopiuj
> time -f %e python3 -c 'import sys; print(sum(int(ch) for ln in sys.stdin for ch in ln if ch.isdigit()))' <big10.txt
1031770
5.79
> time -f %e bash -c 'grep -P -o "\d" | awk "{ sum += \$0 }; END { print 0 + sum }"' <big10.txt
1031770
0.36
> time -f %e bash -c 'grep -P -o "\d" | datamash sum 1' <big10.txt
1031770
0.33
> 

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.