Wyciąganie cyfr z ciągu tekstowego

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ę?

1

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

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?

0

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

1

Lepsze podejście:

> grep -P -o '\d' big10.txt | awk '{ sum += $0 }; END { print 0 + sum }'
1031770
> grep -P -o '\d' big10.txt | datamash sum 1
1031770
> 
> 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
> 

1 użytkowników online, w tym zalogowanych: 0, gości: 1