python
word = 'hello'
print(word[0:2]) #Auszug aus dem 0. Element zum 2. Element
##Verarbeitungsergebnis
he
Die Angabe der Position eines Elements mit einem sogenannten Index scheint in Python als Slicing bezeichnet zu werden.
Natürlich gibt es eine Slice-Notation in der Liste
python
wordlist = ['apple','bike','cake','drum','electric']
print(wordlist[2:]) #Auszug aus dem zweiten Element bis zum Ende
print(wordlist[:2]) #Extrahieren Sie vom ersten zum zweiten Element
##Verarbeitungsergebnis
['cake', 'drum', 'electric']
['apple', 'bike']
Fügen Sie am Ende der Liste ein Element hinzu
.append()
Löschen Sie das im Argument angegebene Element aus der Liste
.remove()
Löschen Sie alle Listenelemente
.clear()
Fügen Sie x zum i-ten in der Liste hinzu
.insert(i,x)
python
wordlist = ['apple','bike','cake','drum','electric']
wordlist.insert(5,'falcon')
print(wordlist)
##Ausgabeergebnis
['apple', 'bike', 'cake', 'drum', 'electric', 'falcon']
Gibt den Index des ersten Elements mit dem im Argument festgelegten Wert zurück
.index()
python
lst = [1, 2, 3, 4, 5]
idx = lst.index(4)
print(idx)
##Ausgabeergebnis
3
Da die Liste auch das Konzept der ID hat, eine Funktion zum Erstellen eines Duplikats
.copy()
python
#Beispiel für das Erstellen einer Kopie der Liste und das Bearbeiten der Kopie, das jedoch fehlschlägt, da die IDs identisch sind
wordlist = ['apple','bike','cake','drum','electric']
copylist = wordlist
copylist[0] = 'admin'
print(wordlist)
print(copylist)
##Ausgabeergebnis
['admin', 'bike', 'cake', 'drum', 'electric']
['admin', 'bike', 'cake', 'drum', 'electric']
#Erfolgsgeschichte
wordlist = ['apple','bike','cake','drum','electric']
copylist = wordlist.copy()
print(wordlist is not copylist) #Stellen Sie sicher, dass die Wortliste keine Kopierliste ist
copylist[0] = 'admin'
print(wordlist)
print(copylist)
##Ausgabeergebnis
True
['apple', 'bike', 'cake', 'drum', 'electric']
['admin', 'bike', 'cake', 'drum', 'electric']
mata Schleifen von zwei oder mehr Listen können mit zip dargestellt werden.
Zum Beispiel das folgende Beispiel
python
list1 = list(range(1,5))
list2 = list(range(5,9))
for a,b in zip(list1,list2):
print(f"a = {a}, b = {b}", a, b )
Bereiten Sie zwei Zählervariablen vor und wiederholen Sie die Zuordnung aus Liste1 bzw. Liste2. Dann wird es wie folgt.
##Ausgabeergebnis
a = 1, b = 5 1 5
a = 2, b = 6 2 6
a = 3, b = 7 3 7
a = 4, b = 8 4 8
In Python ist es nicht erforderlich, am Ende eines Satzes ein Semikolon hinzuzufügen, es kann jedoch als Anweisungsbegrenzer verwendet werden. Mit anderen Worten
a = 10; b=20; c=30;
Das bedeutet, dass Variablendefinitionen zusammengefasst werden können. Wenn Sie alle in eine Zeile setzen, wird die Lesbarkeit natürlich erheblich beeinträchtigt. Seien Sie also vorsichtig.
Python hat auch Pause und weiter.
python
i = 0
while True:
i += 1
if i > 10:
break
if i % 2 == 1:
continue
print(i)
print('Beenden Sie den Vorgang')
Wenn i über 10 liegt, wird die Verarbeitung unterbrochen, und wenn i ungerade ist, wird die Verarbeitung auf i + = 1 zurückgesetzt. Dann werden nur 10 oder weniger gedruckt.
Listen sind wie sogenannte Arrays, aber Python hat ein ähnliches Konzept für Tapple-Typen.
Der Unterschied zur Liste besteht darin, dass ** die gespeicherten Elemente nicht aktualisiert / hinzugefügt / gelöscht werden können **. Umgekehrt kann jedoch verstanden werden, dass es konstante Werte speichert.
Sie können andere Typen mit list () und tuple () in Listen oder Taples konvertieren.
python
a =list("sample"); b=tuple("sample2"); c=list(range(1,11,2)); d=tuple(range(1,11,2))
print(type(d))
Die durch die Zeichenfolge und den Bereich erzeugten Werte (beginnend mit 1 und inkrementell um 2 werden im Bereich von weniger als 11 erfasst) werden in Listentyp bzw. Taple gespeichert. Wenn Sie eine Zeichenfolge in eine Liste oder ein Taple konvertieren, wird sie übrigens für jedes Zeichen separat gespeichert.
Das Auspacken kann verwendet werden, wenn jeder Variablen ein Element zugewiesen werden soll, das in einer Liste oder einem Taple gespeichert ist.
python
words = ['apple','bike','corn']
a,b,c = words
print(a)
##Ausgabeergebnis
apple
Beachten Sie, dass ein Fehler auftritt, wenn words = a, b, c
.
Wenn Sie mehrere Listen zu einer zweidimensionalen Liste kombinieren möchten, verwenden Sie zip ().
python
a = ['apple','bike','corn']
b = ['docter','egg','falcon']
c = ['game','heart','icon']
d = ['jack','king','love']
array_list = zip(a,b,c,d)
result = list(array_list)
print(result)
##Ausgabeergebnis
[('apple', 'docter', 'game', 'jack'), ('bike', 'egg', 'heart', 'king'), ('corn', 'falcon', 'icon', 'love')]
In der Phase der Ausführung von zip () ist es nur ein Objekt, daher werde ich es mit der Listenfunktion in eine Liste konvertieren. Und wie Sie aus dem Ausgabeergebnis sehen können, wenn Sie zip () verwenden, Sie können sehen, dass die Elemente jeder Liste für jeden Index wiederhergestellt werden. Mit anderen Worten
python
print(result[0])
##Ausgabeergebnis
('apple', 'docter', 'game', 'jack')
Es stellt sich heraus, dass. Beachten Sie, dass dies ein anderer Prozess ist als das Erstellen einer Liste mit der for-Anweisung.
Stellen Sie sich das als eine Reihe mathematischer Begriffe oder eine Gruppe vor. Mit anderen Worten, es handelt sich um eine Sammlung nicht überlappender Elemente. Zum Beispiel
fruit = {'apple','banana','lemon'}
Es ist wie es ist. Listen werden durch "[]" und Taples durch "()" dargestellt, während Mengen durch "{}" dargestellt werden. Es hat jedoch die Form von "x = {}", und wenn kein Element darin registriert ist oder wenn das registrierte Element ein Schlüssel: Wert ist, wird es zu einem Wörterbuch anstelle einer Menge. Ein Set kann auch als Taple registriert werden, eine Liste kann jedoch nicht registriert werden.
aufführen
-So genanntes Array. -Elemente können aktualisiert, hinzugefügt und gelöscht werden.
list ()
.Taple
-Ein Bild eines Arrays, das konstante Werte speichert.
-Elemente können nicht aktualisiert, hinzugefügt oder gelöscht werden.
-Konvertierung von anderen Typen zu tapple ist tuple ()
.
einstellen
-Ein sogenanntes Set-Array (Gruppe).
-Elemente mit demselben Inhalt können nur einmal registriert werden.
-Taples können als Elemente verwendet werden, Listen jedoch nicht.
-Konvertierung von anderen Typen in Mengen ist set ()
.
add ()
, delete ist remove ()
.Wörterbuch
-So so genannte assoziative Anordnung. Das Element muss die Form key: value haben.
Es stellt sich heraus, dass.
Das Zufallsmodul kann nicht nur für numerische Werte verwendet werden, sondern auch für Sequenzen wie Taples und Listen.
Holen Sie sich ein Element zufällig aus der Sequenz mit choice ()
.
Ruft k Elemente mit Duplikaten aus der im Argument festgelegten Reihenfolge mit "options (seq, k = 1)" ab und gibt sie als Liste zurück.
sample (seq, k)
holt k Elemente aus der Sequenz und gibt sie als Liste ohne Duplizierung zurück.
Sie können die Sequenz mit shuffle ()
sortieren.
Mit anderen Worten
python
import random
a = ['apple','basket','color','dictionary','error']
wordlist =list(a)
print(random.choice(wordlist))
print(random.choices(wordlist,k=3))
print(random.sample(wordlist,3))
print(wordlist)
random.shuffle(wordlist)
print(wordlist)
##Ausgabeergebnis(Da es sich um ein Zufallsmodul handelt, ändert sich das Ergebnis bei jeder Ausführung.)
dictionary
['error', 'apple', 'color']
['dictionary', 'basket', 'color']
['apple', 'basket', 'color', 'dictionary', 'error']
['color', 'apple', 'dictionary', 'error', 'basket']
python
squares = [v ** 2 for v in range(10)]
print(squares)
Wie beim letzten Mal können Sie einfach eine Zahlenzeichenfolge erstellen, wenn Sie wie oben beschrieben eine for-Anweisung in der Liste erstellen und den Ausdruck des Elements, das Sie speichern möchten, zuvor wiederholt in die Liste einfügen. Im obigen Beispiel werden beispielsweise die quadratischen Werte von 0 bis 9 in der Liste gespeichert. Es kann auch als Satz verwendet werden. In diesem Fall kann ein Satz generiert werden.
python
sample = {x for x in range(30) if x %2 == 0}
print(sample)
##Ausgabeergebnis
{0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28}
Unter dem Gesichtspunkt der Erzeugung einer Menge sollte es eine Regelmäßigkeit bei der Erzeugung geben (die obige Menge ist eine gerade Menge im Bereich von 0 ≤ x <30), um sie von einer einfachen Liste zu unterscheiden.
Bei einem Wörterbuch ist dies der Fall.
languages = [
"apple",
"bike",
"cow",
"decade",
"egostic"
]
dictionary = {lang.upper():len(lang) for lang in languages}
print(dictionary)
##Ausgabeergebnis
{'APPLE': 5, 'BIKE': 4, 'COW': 3, 'DECADE': 6, 'EGOSTIC': 7}
Erstellen Sie zunächst einen Schlüssel mit einer Liste.
Dies ist gut mit Tapples.
Und definieren Sie die Form von key: value
vor für.
Diesmal wird die erstellte Liste der Zählervariablen lang
zugeordnet.
Basierend auf dieser lang
wird die Eigenschaft dann erstellt, indem der Vorgang des Erstellens einer Eigenschaft als Großbuchstabe der in Sprachen gespeicherten Zeichenfolge wiederholt wird: der Wert der Anzahl der Zeichen
und das Erstellen eines Wörterbuchs.
FROM jupyter/datascience-notebook:7a0c7325e470 #Angeben eines Bildes
COPY requirements.txt tmp/requirements.txt #Eine Datei mit den zu installierenden Paketen.
RUN pip install -r tmp/requirements.txt #pip ist ein Befehl zum Installieren von Python-Paketen. Hier Anforderungen.Installieren Sie die in txt aufgeführten Pakete.
EXPOSE 8888
Zur Überprüfung wählt FROM das Basisbild aus, dh das Bild, das Sie verwenden möchten. EXPOSE öffnet den angegebenen Port. Wenn Sie keine Docker-Umgebung unter Mac oder Windows 10 Pro erstellen, müssen Sie natürlich auch die Portweiterleitung auf der Seite der virtuellen Box festlegen.
version: "3.7" # docker-compose.Geben Sie die Version des yml-Dateiformats an
services:
jupyterlab: #Dienstleistungen zu behandeln
build: .
container_name: jupyterlab #Containername
environment:
- JUPYTER_ENABLE_LAB=yes #Aktivieren Sie jupyterLab
ports:
- "8888:8888" #Angabe des vom Dienst verarbeiteten Ports
volumes:
- ./JupyterLab:/home/jovyan/work #Einstellung von Verzeichnissen, die gemeinsam genutzt / synchronisiert werden sollen. Host-seitiges Verzeichnis:Verzeichnis auf der Seite des virtuellen Raums
command: start.sh jupyter lab --NotebookApp.token='' #Lassen Sie die Eingabe des Anmeldetokens beim Starten des Containers aus
Ich bin mit Docker noch nicht vertraut, daher habe ich beim Googeln verschiedene Dinge ausprobiert. Die Bedeutung der Erstellung von docker-compose.yml besteht darin, dass es einfacher ist zu verstehen, wo Sie später lange Optionen vornehmen müssen, wenn Sie versuchen, dies mit "Docker Run" zu tun. Es scheint eine Bedeutung zu geben. Der schnellste Weg, um eine Umgebung zu erstellen, besteht darin, das Image vom Beamten abzurufen, einen Container mit Optionen mit "Docker Run" zu erstellen und dort zu starten, aber schließlich hat sich Docker daran gewöhnt Ich hatte das Gefühl, dass es die Ursache dafür war, im Sumpf stecken zu bleiben, wenn ich keine Person war, und den Container mit zwei Dateien zu verwalten, Dockerfile (ich habe gehört, dass ich dies möglicherweise nicht kürzlich schreibe) und docker-compose.yml, im Gegenteil, Lesbarkeit und Erweiterung später Ich dachte, es wäre gut in Bezug auf Leichtigkeit.
python
import sys
print(sys.getdefaulttencoding())
python
with open('jinko.txt','rt')as f:
print(f.read())
Das Lesen und Schreiben von Dateien in Python beginnt mit "open ()" und endet mit "close ()". Um jedoch zu vermeiden, dass "close ()" vergessen wird, verwenden Sie "with open ()".
python
with open('jinko.txt') as f:
l = f.readlines()
print(l)
#Oder
with open('jinko.txt') as f:
while True:
l = f.readline()
print(l)
if not l:
break
Weisen Sie die Datei der Variablen f zu, machen Sie sie zu einem Objekt und verwenden Sie die Methode readlines (). Oder verwenden Sie die readline () -Methode in einer Schleife, um zeilenweise zu lesen.
python
count = 0
with open('jinko.txt') as f:
l = f.readline()
while True:
l = f.readline()
m = l.strip()
print(m)
count += 1
if count > 5:
break
#Bei der zeilenweisen Auflistung durch Kommas getrennt
import csv
count = 0
with open('jinko.txt') as f:
l = f.readline()
reader = csv.reader(f)
for l in reader:
print(l)
count += 1
if count > 5:
break
#Nehmen Sie numerische Werte aus Daten heraus und versuchen Sie zu berechnen
import csv
s = 0
with open('jinko.txt') as f:
reader = csv.reader(f)
for l in reader:
if l[0] == "Hokkaido":
s = s + int(l[2])
print("Hokkaido Bevölkerung", s ,"Mann")
##Teilauszug der oben gelesenen Daten
['Hokkaido', 'Sapporo', '1913545']
['Hokkaido', 'Hakodate City', '279127']
['Hokkaido', 'Otaru Stadt', '131928']
['Hokkaido', 'Asahikawa Stadt', '347095']
['Hokkaido', 'Muroranische Stadt', '94535']
['Hokkaido', 'Kushiro City', '181169']
csv.reader ()
funktioniert wiesplit ()
.
Es wird empfohlen, dies zu verwenden, wenn die Daten im CSV-Format vorliegen.
In Bezug auf den Berechnungsteil gibt "l [0]" zunächst aus dem Auszug der zu lesenden Daten die Präfektur an, dh "wenn l [0] ==" Hokkaido ":" bestimmt den Bereich der zu lesenden Daten.
Und Sie können sehen, dass l [2]
Population enthält, dh Zahlendaten.
Da es jedoch als Zeichenfolge gespeichert ist, wird es nach der Digitalisierung mit "int ()" verwendet.
Wenn Sie den obigen Satz schreiben, können Sie daher die Population von Hokkaido in den Daten berechnen.
python
with open('jinko_sjis.txt', encoding='shift-jis', newline='\r\n') as f:
while True:
l = f.readline()
print(l)
if not l:
break
Geben Sie beim Lesen einer anderen Datei als utf-8 optional das Dateiformat "encoding =" an, das Sie lesen möchten ". Geben Sie außerdem die Art des Zeilenumbruchs mit "newline" an. Dieses Mal wird der Zeilenvorschub in Windows angegeben.
python
with open("write_example.txt", "w") as f:
f.write("abc\r\n")
f.write("defgh")
#Mehrzeilige Daten schreiben
data = ["abc","defgh"]
with open("write_example2.txt","w") as f:
f.writelines(data)
#CSV-Daten schreiben
import csv
alldata = [
[1,2,3],[2,3,5]
]
with open("write_example3","w") as f:
writer =csv.writer(f)
writer.writerows(alldata)
##for-Anweisung kann ebenfalls verwendet werden
import csv
alldata = [
[1, 2, 3],
[2, 3, 5]
]
with open("writeexample5.txt", "w") as f:
writer = csv.writer(f)
for data in alldata:
writer.writerow(data)
Die Geschichte des Versuchs, mit Docker eine maschinelle Lernumgebung zu erstellen
Erstellen einer Containerumgebung für Jupyter Lab
Recommended Posts