[PYTHON] 100 Amateur-Sprachverarbeitungsklopfen: 17

Es ist ein Herausforderungsrekord von 100 Sprachverarbeitungsklopfen 2015. Die Umgebung ist Ubuntu 16.04 LTS + Python 3.5.2 : : Anaconda 4.1.1 (64-Bit). Klicken Sie hier, um eine Liste der vergangenen Schläge anzuzeigen (http://qiita.com/segavvy/items/fb50ba8097d59475f760).

Kapitel 2: Grundlagen des UNIX-Befehls

hightemp.txt ist eine Datei, in der die Aufzeichnung der höchsten Temperatur in Japan im tabulatorgetrennten Format "Präfektur", "Punkt", "℃" und "Tag" gespeichert wird. Erstellen Sie ein Programm, das die folgende Verarbeitung ausführt, und führen Sie hightemp.txt als Eingabedatei aus. Führen Sie außerdem denselben Prozess mit einem UNIX-Befehl aus und überprüfen Sie das Ausführungsergebnis des Programms.

17. Unterschiede in der ersten Spalte

Suchen Sie den Typ der Zeichenfolge in der ersten Spalte (eine Reihe verschiedener Zeichenfolgen). Verwenden Sie zur Bestätigung die Befehle sort und uniq.

Der fertige Code:

main.py


# coding: utf-8

fname = 'hightemp.txt'
with open(fname) as data_file:

	set_ken = set()
	for line in data_file:
		cols = line.split('\t')
		set_ken.add(cols[0])

for n in set_ken:
	print(n)

Ausführungsergebnis:

Ausführungsergebnis 1


Präfektur Yamagata
Präfektur Wakayama
Präfektur Gifu
Präfektur Osaka
Präfektur Ehime
Saitama
Präfektur Aichi
Präfektur Kochi
Präfektur Gunma
Präfektur Chiba
Präfektur Yamanashi
Präfektur Shizuoka

Ausführungsergebnis 2


Präfektur Gifu
Präfektur Yamagata
Präfektur Shizuoka
Präfektur Aichi
Präfektur Osaka
Präfektur Kochi
Präfektur Gunma
Präfektur Chiba
Präfektur Yamanashi
Präfektur Ehime
Präfektur Wakayama
Saitama

Als ich es zweimal ausgeführt habe, hat sich die Reihenfolge geändert. Dies liegt daran, dass der Hash wie in Befehlszeile -R-Option beschrieben zufällig ausgewählt wird. Ich denke.

Shell-Skript zum Überprüfen von UNIX-Befehlen:

test.sh


#!/bin/sh

#Schneiden Sie die erste Spalte aus, sortieren Sie, Deduplizierung
cut --fields=1 hightemp.txt | sort | uniq > result_test.txt

#Im Python-Programm ausführen und zum Vergleich nach Diff sortieren
python main.py | sort > result.txt

#Überprüfen Sie das Ergebnis
diff --report-identical-files result.txt result_test.txt

Bestätigung der Ergebnisse:

Terminal


segavvy@ubuntu:~/Dokument/100 Sprachverarbeitung klopfen 2015/17$ ./test.sh
Dateiergebnis.txt und Ergebnis_test.txt ist das gleiche

Das ist alles für den 18. Schlag. Wenn Sie Fehler haben, würde ich mich freuen, wenn Sie darauf hinweisen könnten.

Recommended Posts

100 Amateur-Sprachverarbeitungsklopfen: 17
100 Amateur-Sprachverarbeitungsklopfen: 07
100 Amateur-Sprachverarbeitungsklopfen: 09
100 Amateur-Sprachverarbeitungsklopfen: 47
100 Amateur-Sprachverarbeitungsklopfen: 97
100 Amateur-Sprachverarbeitungsklopfen: 67
100 Amateur-Sprachverarbeitungsklopfen: Zusammenfassung
100 Sprachverarbeitungsklopfen (2020): 28
100 Sprachverarbeitungsklopfen (2020): 38
100 Sprachverarbeitung klopfen 00 ~ 02
100 Amateur-Sprachverarbeitungsklopfen: 41
100 Amateur-Sprachverarbeitungsklopfen: 71
100 Amateur-Sprachverarbeitungsklopfen: 56
100 Amateur-Sprachverarbeitungsklopfen: 50
100 Sprachverarbeitung klopfen 2020 [00 ~ 69 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 59
100 Amateur-Sprachverarbeitungsklopfen: 70
100 Amateur-Sprachverarbeitungsklopfen: 62
100 Amateur-Sprachverarbeitungsklopfen: 60
100 Sprachverarbeitung Knock 2020 Kapitel 1
100 Amateur-Sprachverarbeitungsklopfen: 30
100 Amateur-Sprachverarbeitungsklopfen: 06
100 Amateur-Sprachverarbeitungsklopfen: 84
100 Sprachverarbeitung klopfen 2020 [00 ~ 49 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 81
100 Amateur-Sprachverarbeitungsklopfen: 33
100 Amateur-Sprachverarbeitungsklopfen: 46
100 Amateur-Sprachverarbeitungsklopfen: 88
100 Amateur-Sprachverarbeitungsklopfen: 89
100 Amateur-Sprachverarbeitungsklopfen: 40
100 Amateur-Sprachverarbeitungsklopfen: 45
100 Amateur-Sprachverarbeitungsklopfen: 43
100 Amateur-Sprachverarbeitungsklopfen: 55
100 Sprachverarbeitung Knock-52: Stemming
100 Amateur-Sprachverarbeitungsklopfen: 22
100 Amateur-Sprachverarbeitungsklopfen: 61
100 Amateur-Sprachverarbeitungsklopfen: 94
100 Amateur-Sprachverarbeitungsklopfen: 54
100 Amateur-Sprachverarbeitungsklopfen: 04
100 Sprachverarbeitung Knock Kapitel 1
100 Amateur-Sprachverarbeitungsklopfen: 63
100 Amateur-Sprachverarbeitungsklopfen: 78
100 Amateur-Sprachverarbeitungsklopfen: 12
100 Amateur-Sprachverarbeitungsklopfen: 14
100 Amateur-Sprachverarbeitungsklopfen: 08
100 Amateur-Sprachverarbeitungsklopfen: 42
100 Amateur-Sprachverarbeitungsklopfen: 19
100 Amateur-Sprachverarbeitungsklopfen: 73
100 Amateur-Sprachverarbeitungsklopfen: 75
100 Amateur-Sprachverarbeitungsklopfen: 98
100 Amateur-Sprachverarbeitungsklopfen: 83
100 Amateur-Sprachverarbeitungsklopfen: 95
100 Amateur-Sprachverarbeitungsklopfen: 32
100 Amateur-Sprachverarbeitungsklopfen: 96
100 Amateur-Sprachverarbeitungsklopfen: 87
100 Amateur-Sprachverarbeitungsklopfen: 72
100 Amateur-Sprachverarbeitungsklopfen: 79
100 Amateur-Sprachverarbeitungsklopfen: 23
100 Amateur-Sprachverarbeitungsklopfen: 05
100 Amateur-Sprachverarbeitungsklopfen: 00
100 Amateur-Sprachverarbeitungsklopfen: 02