[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
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. ** **.
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
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]".
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 ...
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.
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 ~
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