Python unerfahrene Person versucht, 100 Sprachverarbeitung 00-04 zu klopfen

[Zusatz] Klicken Sie hier für 05-06 Python unerfahrene Person versucht, 100 Sprachverarbeitung 05-06 zu klopfen https://qiita.com/earlgrey914/items/e772f1b7e5efea114e1d Klicken Sie hier für 07-09 Python unerfahrene Person versucht, 100 Sprachverarbeitung 07-09 zu klopfen https://qiita.com/earlgrey914/items/a7b6781037bc0844744b


Klicken Sie hier, um es zu versuchen


100 Sprachverarbeitung klopfen 2015
https://repository.kulib.kyoto-u.ac.jp/dspace/handle/2433/245698

** Autorenprofil (wichtig) ** Keine grundlegenden Lernerfahrungen mit Python. Eine Ebene, in der Sie die im Netz liegende Probe kopieren und verschieben können. Ich habe Java in College-Übungen ein wenig berührt. Die aktuelle Position ist kein Programmierer.

** (Wichtig) Dieser Artikel schreibt nicht die richtige und schöne Antwort, sondern zeichnet den Prozess auf, wie eine Person auf der oben genannten Ebene zur Antwort gekommen ist. ** **.

00. Umgekehrte Reihenfolge der Zeichenfolgen

Holen Sie sich eine Zeichenfolge, in der die Zeichen der Zeichenfolge "betont" umgekehrt angeordnet sind (vom Ende bis zum Anfang).

Es gab eine Antwort auf der Seite, die von "Python Character String Inversion" gegoogelt wurde. https://qiita.com/Hawk84/items/ecd0c7239e490ea22308

enshu0.py


str = "stressed"
str = str[::-1]
print(str)
dessert

Ich weiß nicht, was "[:: -1]" bedeutet.

~ 5 Minuten gegoogelt ~ Anscheinend hat Python eine Funktion namens Slice, die Zeichenketten und Listen ausschneidet. Wenn Sie [0: 3] ** schreiben, werden 3 Zeichen ** vom 1. (0) bis zum 3. (3) der Zeichenfolge zurückgegeben. Hier ist es wirklich schwer zu verstehen. ** Glaubst du nicht, dass wenn du normalerweise bei 0 beginnst und bis 3 zählst, die 4 Zeichen 0,1,2,3 zurückgegeben werden? (Beschwerde) **

damit,

Wenn Sie von Anfang bis Ende angeben möchten, können Sie [:] schreiben. Slices werden als "[von hier: bis hier]" geschrieben, aber im Fall von Anfang und Ende können sie weggelassen werden, so dass sie als "[:]" geschrieben werden können.

damit,

Wenn Sie am Ende "[-1]" hinzufügen, wird die Zeichenfolge anscheinend invertiert und zurückgegeben. Wenn Sie also "[:: -1]" schreiben, wird es vom Anfang bis zum Ende umgekehrt und zurückgegeben.


Referenz-URL
https://www.sejuku.net/blog/44850

01. "Patatokukashi"

Nehmen Sie das 1., 3., 5. und 7. Zeichen der Zeichenkette "Patatokukashi" heraus und erhalten Sie die verkettete Zeichenkette.

enshu01.py


str = "Patatoku Kashii"
str = str[::2]
print(str)
Pat Auto

Da ich früher über Scheiben gegoogelt hatte, wurde mir schnell klar, dass ich auch Scheiben verwenden konnte. Die Beschreibung von "[:: 2]" scheint "[vom Anfang bis zum Ende: Die erste Zeichennummer ist 1, und das erste Zeichen + 2 Zeichen werden abgeschnitten]" zu bedeuten. Daher können die Zeichen 1, 3, 5 und 7 vom Anfang bis zum Ende extrahiert werden. Wenn Sie "Taxi" herausnehmen möchten, können Sie den ersten Buchstaben als ta verwenden, daher ist das Folgende in Ordnung.

enshu01_2.py


str = "Patatoku Kashii"
str = str[1::2]
print(str)
Taxi

Dies bedeutet "[vom zweiten Zeichen (1) bis zum Ende: mit der ersten Zeichennummer als 1 das erste Zeichen + 2 jeweils ausschneiden]".

02. "Patcar" + "Tax" = "Patatokukasie"

Erhalten Sie die Zeichenkette "Patatokukashi", indem Sie die Zeichen "Pattocar" + "Tax" von Anfang an abwechselnd verbinden.

Ich stolperte. Mit Java-Kenntnissen können Sie eine solche for-Anweisung schreiben, aber ist das so gut?

dousshiyou.java


String patoka = "Pat Auto";
String takushi = "Taxi";
int n = patoka.length();

String answer = "";

for (int i = 0; i < n; i++){
 answer = answer +Das i-te Zeichen wird Zeichen für Zeichen aus dem Streifenwagen herausgeschnitten
 answer = answer +I-ter Buchstabe geschnittenes Taxi Zeichen für Zeichen
}

Wahrscheinlich nicht ... Ich weiß nicht, ob Sie ein for-Dokument wie for (int i = 0; i <n; i ++) in Python schreiben können. Der Fragesteller hat wahrscheinlich eine andere Antwort. (Diese Java wird nur durch Transkribieren des Bildes im Gehirn geschrieben, also bitte nicht mit der Notation usw. herumspielen.)

~ 10 Minuten gegoogelt ~ Infolgedessen bekam ich keine gute Antwort. Als ich die for-Anweisung richtig schrieb, fand ich Folgendes

tekitou.py


str_p = "Pat Auto"

for i in str_p:
    print(i)
Pa
Zu
Leistung
- -

Irgendwie wird jedes Zeichen ausgegeben, oder?

Es scheint auch, dass Sie zwei Listen gleichzeitig verarbeiten können, indem Sie etwas namens "zip ()" verwenden
Referenz
https://uxmilk.jp/13726

Ist das dann in Ordnung?

enshu02.py


str_p = "Pat Auto"
str_t = "Taxi"
answer = ""

for p,t in zip(str_p,str_t):
    answer = answer + p
    answer = answer + t
    
print(answer)
Patatoku Kashii

Ich frage mich, was ist mit. Nun, ich konnte es schaffen. Die Antworten werden später abgeglichen ...

03. Umfangsrate

Teilen Sie den Satz „Jetzt brauche ich nach den schweren Vorlesungen über Quantenmechanik einen Alkoholiker auf.“ In Wörter auf und erstellen Sie eine Liste mit der Anzahl der (alphabetischen) Zeichen in jedem Wort in der Reihenfolge ihres Auftretens.

Das sieht einfach aus. Ich weiß, dass Sie Zeichenfolgen, die durch beliebige Zeichen getrennt sind, mit "split ()" auflisten können.

lisitka.py


str = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
list = str.split()
print(list)
['Now', 'I', 'need', 'a', 'drink,', 'alcoholic', 'of', 'course,', 'after', 'the', 'heavy', 'lectures', 'involving', 'quantum', 'mechanics.']

Dann ermitteln Sie einfach die Länge der Zeichenfolge in der Liste.

koredeiinoka.py


s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
list = s.split()

answer = ""

for i in list:
    answer = answer + str(len(i))

print(answer)
3141692753589710

Dieses Mal habe ich aufgehört, die Variable zu benennen, in der die Zeichenfolge "str" gespeichert ist. Ich habe gelernt, dass ich "str ()" verwende, wenn ich von einer Zahl in eine Zeichenfolge konvertiere, aber ich trage es. Übrigens möchte ich nicht die Zeichenkettenkombinationsmethode von "answer = answer + str (len (i))" verwenden ...

Also, wenn die Antwort richtig ist ** Etwas ... anderes, nicht wahr? ** **.

Obwohl die Frage "Liste erstellen" lautet, wird sie als Zeichenfolge zurückgegeben. 3.141592 ... Nicht wirklich. Es ist ** 3.141692 **. ** Anscheinend müssen die Kommas in der ersten Liste entfernt werden. ** **. ↓ Es gibt ein Komma.

['Now', 'I', 'need', 'a', 'drink,', 'alcoholic', 'of', 'course,', 'after', 'the', 'heavy', 'lectures', 'involving', 'quantum', 'mechanics.']

Entfernen Sie vorerst das Komma mit replace (", "," ")
Referenz-URL
http://python-remrin.hatenadiary.jp/entry/2017/04/24/174405

jokyo.py


s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
s = s.replace(",","")
print(s)
Now I need a drink alcoholic of course after the heavy lectures involving quantum mechanics.

Sollte ich den Zeitraum am Ende auch entfernen? Wenn ja, ersetzen Sie zweimal.

datoshitara.py


s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
s = s.replace(",", "").replace(".", "")
print(s)
Now I need a drink alcoholic of course after the heavy lectures involving quantum mechanics

Okay, das ist in Ordnung.

enshu03.py


s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
s = s.replace(",", "").replace(".", "")

list = s.split()
#['Now', 'I', 'need', 'a', 'drink', 'alcoholic', 'of', 'course', 'after', 'the', 'heavy', 'lectures', 'involving', 'quantum', 'mechanics']

answer_list = []
for i in list:
    answer_list.append(len(i))
print(answer_list)
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]

Yay.

04. Elementsymbol

Teilen Sie den Satz "Hi He Lied, weil Bor Fluor nicht oxidieren konnte. Neue Nationen könnten auch die Friedenssicherheitsklausel unterzeichnen. Arthur King Can." In die Wörter 1, 5, 6, 7, 8, 9, 15, 16, 19 auf Das erste Wort ist das erste Zeichen, und die anderen Wörter sind die ersten beiden Zeichen. Erstelle es.

Ich weiß nicht, was du schon sagst. Sie können split () verwenden, um es in Wörter zu zerlegen. Sie können die Zeichen wahrscheinlich in Scheiben schneiden.

Erstellen Sie ein assoziatives Array (Wörterbuchtyp oder Kartentyp) von der extrahierten Zeichenfolge bis zur Position des Wortes (wie viele Wörter von Anfang an).

Ich weiß nicht, was das sagt.

~ 3 Minuten gegoogelt ~ https://web-camp.io/magazine/archives/14815

Ahhhhh. Es ist wie ein Key-Value-Store. Ich verstehe vollkommen () Ich bin nicht sicher, aber ↓ Wenn dies passiert, ist es okay.

{key1:value1,key2:value2,key3:value3}

Die Antwort lautet also

{1:H,2:He,3:Li,4:Be,5:B,・ ・ ・}

Ich weiß nicht, ob es so aussieht.

enshu04.py


s = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."

#Teilen Sie durch Wort
list = s.split()

#Eine Liste, die nur ein Zeichen zurückgibt, wenn die Vorkommensnummer dieses Wortes mit der Nummer in dieser Liste übereinstimmt
ichimoziList = [1, 5, 6, 7, 8, 9, 15, 16, 19]

#Wörterbuchtyp
dic = {}

counter = 1
for i in list:
    if counter in ichimoziList:
        dic[counter] = i[:1]
    else:
        dic[counter] = i[:2]
    counter+= 1
    
print(dic)
{1: 'H', 2: 'He', 3: 'Li', 4: 'Be', 5: 'B', 6: 'C', 7: 'N', 8: 'O', 9: 'F', 10: 'Ne', 11: 'Na', 12: 'Mi', 13: 'Al', 14: 'Si', 15: 'P', 16: 'S', 17: 'Cl', 18: 'Ar', 19: 'K', 20: 'Ca'}

Nein! !! Es ist fertig. ** Ich dachte, aber der Wörterbuchtyp wird in der Reihenfolge "{1:" H ", ...}" verwendet. Ist er also korrekt? ** **. Ich frage mich, ob dies ... {'H': 1, ...} ist Ich frage mich, welches in Ordnung ist (Nasenbügel)

Hier erscheint zum ersten Mal die if-Anweisung. Erstellen Sie eine Liste mit "1,5,6,7,8,9,15,16,19" und sagen Sie, dass die Liste den numerischen Wert der Reihenfolge der zu verarbeitenden Wörter enthält. Ich habe einen bedingten Zweig geschrieben.

Ich bin es nicht gewohnt, Python für die Anweisung zu verwenden, daher habe ich den "Zähler" entfernt. Es kann etwas erfrischender sein.

Außerdem scheint "eins nach dem anderen im iterativen Prozess hinzufügen" als "counter + =!" Anstelle von "counter ++" geschrieben zu werden. Hallo!

Es ist lange her, also werde ich in einem anderen Artikel fortfahren! !! !! ** Bisher hat es 3 Stunden gedauert! !! !! !! !! !! !! !! !! !! !! (wichtig)**

Recommended Posts

Python unerfahrene Person versucht, 100 Sprachverarbeitung 14-16 zu klopfen
Python unerfahrene Person versucht, 100 Sprachverarbeitung 07-09 zu klopfen
Python unerfahrene Person versucht, 100 Sprachverarbeitung 05-06 zu klopfen
Python unerfahrene Person versucht, 100 Sprachverarbeitung 00-04 zu klopfen
100 Sprachverarbeitungsklopfen mit Python 2015
100 Sprachverarbeitung Knock Kapitel 1 (Python)
100 Sprachverarbeitung Knock Kapitel 2 (Python)
100 Sprachverarbeitungsklopfen mit Python (Kapitel 1)
100 Sprachverarbeitung Knock Kapitel 1 in Python
100 Sprachverarbeitungsklopfen mit Python (Kapitel 3)
Python-Anfänger versucht 100 Sprachverarbeitung klopfen 2015 (05 ~ 09)
100 Sprachverarbeitung Knock Kapitel 1 von Python
Python-Anfänger versucht 100 Sprachverarbeitung klopfen 2015 (00 ~ 04)
100 Sprachverarbeitungsklopfen (2020): 28
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 2)
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 1)
100 Sprachverarbeitung klopfen 2020 [00 ~ 39 Antwort]
100 Sprachverarbeitung klopfen 2020 [00-79 Antwort]
100 Sprachverarbeitung klopfen 2020 [00 ~ 69 Antwort]
100 Sprachverarbeitung Knock 2020 Kapitel 1
100 Amateur-Sprachverarbeitungsklopfen: 17
Python: Verarbeitung natürlicher Sprache
100 Sprachverarbeitung Knock-52: Stemming
100 Sprachverarbeitung Knock Kapitel 1
100 Amateur-Sprachverarbeitungsklopfen: 07
100 Sprachverarbeitung Knock 2020 Kapitel 3
100 Sprachverarbeitung Knock 2020 Kapitel 2
100 Amateur-Sprachverarbeitungsklopfen: 09
100 Sprachverarbeitung Knock-53: Tokenisierung
100 Amateur-Sprachverarbeitungsklopfen: 97
100 Sprachverarbeitung klopfen 2020 [00 ~ 59 Antwort]
100 Sprachverarbeitung Knock-92 (mit Gensim): Anwendung auf Analogiedaten
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
100 Sprachverarbeitung Knock-51: Wortausschnitt
100 Sprachverarbeitung Knock-57: Abhängigkeitsanalyse
100 Sprachverarbeitung Knock-50: Satzumbruch
100 Sprachverarbeitung Knock-25: Vorlagenextraktion
Sprachverarbeitung 100 Knock-87: Wortähnlichkeit
Ich habe versucht, 100 Sprachverarbeitung klopfen 2020
100 Sprachverarbeitung Knock-56: Co-Referenz-Analyse
Lösen von 100 Sprachverarbeitungsklopfen 2020 (01. "Patatokukashi")
100 Amateur-Sprachverarbeitungsklopfen: Zusammenfassung
Sprachverarbeitung 100 Knocks-43: Extrahieren Sie Klauseln mit Nomenklatur in Bezug auf Klauseln mit Verben
[Python] Versuchen Sie, Ramen-Shops durch Verarbeitung natürlicher Sprache zu klassifizieren
100 Sprachverarbeitung Knock-42: Anzeige der Phrase der betroffenen Person und der betroffenen Person
Überlassen Sie die mühsame Verarbeitung Python
100 Sprachverarbeitung Knock 2020 Kapitel 2: UNIX-Befehle
100 Sprachverarbeitung Knock 2015 Kapitel 5 Abhängigkeitsanalyse (40-49)
100 Sprachverarbeitung Knock 2020 Kapitel 4: Morphologische Analyse
100 Sprachverarbeitung Knock-76 (mit Scicit-Learn): Beschriftung
Einführung in Protobuf-c (C-Sprache ⇔ Python)
100 Sprachverarbeitungsklopfen: Kapitel 1 Vorbereitungsbewegung
100 Sprachverarbeitung Knock Kapitel 4: Morphologische Analyse
100 Sprachverarbeitung Knock 2020 Kapitel 10: Maschinelle Übersetzung (90-98)
100 Sprachverarbeitung Knock 2020 Kapitel 5: Abhängigkeitsanalyse
100 Sprachverarbeitung Knock-28: Entfernen des MediaWiki-Markups
100 Sprachverarbeitung Knock 2020 Kapitel 7: Word Vector
100 Sprachverarbeitung Knock 2020 Kapitel 8: Neuronales Netz