[Python] Liste der wichtigsten destruktiven Methoden für Listenoperationen (Hinzufügen / Löschen / Sortieren)

[Python] Liste der wichtigsten destruktiven Methoden für Listenoperationen (Hinzufügen / Löschen / Sortieren)

Eine Liste der wichtigsten destruktiven Methoden (Überschreiben der Originaldaten).

** <Element hinzufügen> **

  1. [Einfügen](# Einfügemethode)
  2. append
  3. [verlängern](#extend Methode)
  4. [Nach Slice hinzufügen](# Nach Slice hinzufügen)
  5. [Element hinzufügen](# Element hinzufügen)
  6. [Ersetzen](# Ersetzen)

** <Element löschen> ** 5. [entfernen](# Methode entfernen) 6. [pop](# pop Methode) 7. [clear](#clear method) 8. [del-Anweisung](# del-Anweisung)

  1. [Löschen durch Angabe der Indexnummer](# Löschen durch Angabe der Indexnummer)
  2. [Löschen durch Angabe eines Bereichs](# Löschen durch Angabe eines Bereichs)
  3. [Alle löschen](# Alle löschen)

** ** 9. [sort](# sort Methode)

  1. [Aufsteigende Sortierung](# Aufsteigende Sortierung)
  2. [Absteigende Sortierung](# Absteigende Sortierung)
  3. [reverse](#reverse Methode)

** ** 11. [Hinweise zu destruktiven Methoden](#Hinweise zu destruktiven Methoden) 12. [Beispiel für eine destruktive Methode](# Beispiel für eine destruktive Methode)


## Methode einfügen Fügen Sie den Wert ein, indem Sie die Indexnummer angeben.

insert x y └ Fügen Sie y an der Indexnummer x ein. └ x ist eine ganze Zahl └ Wenn Sie eine Indexnummer über (oder unter) dem ursprünglichen Element angeben, wird diese am Ende (Anfang) hinzugefügt.

python


a = [1,2,3]

#Addiere "10" zu 0
a.insert(0,10)
print(a)

#Ausgabe
[10, 1, 2, 3]

** ▼ Wenn Sie eine Indexnummer angeben, die nicht vorhanden ist **

python


a = [1,2,3]

#"20" zum 10. hinzugefügt
a.insert(10,20)
print(a)

#Ausgabe
[1, 2, 3, 20]

Obwohl die Indexnummer 10 angegeben ist, wird sie am Ende hinzugefügt, da das Maximum der Zielliste weniger als 10 beträgt.

** ▼ Wenn eine nicht vorhandene Indexnummer angegeben wird (Minus) **

python


a = [1,2,3]

#-"30" zum 10. hinzugefügt
a.insert(-10,30)
print(a)

#Ausgabe
[30, 1, 2, 3]

## Methode anhängen Fügen Sie am Ende ein Element hinzu. (Als Klumpen hinzufügen)

append (Wert zum Hinzufügen)

python


a=[1,2,3]

a.append('a')
print(a)

##Ausgabe
[1, 2, 3, 'a']

** ▼ Zeichenketten und Arrays werden als Chunks eingegeben. (* Unterschied zum Ausfahren) **

String


a=[1,2,3]

a.append("abcde")
print(a)

##Ausgabe
[1, 2, 3, 'abcde']

list


a=[1,2,3]
b=[4,5,6]

a.append(b)
print(a)

##Ausgabe
[1, 2, 3, [4, 5, 6]]

** ▼ Ich kann mich nicht hinzufügen (* Unterschied zum Erweitern) **

list


a=[1,2,3]

a.append(a)
print(a)

#Ausgabe
[1, 2, 3, [...]]

** ▼ Wenn das übergeordnete Objekt eine Dimension größer ist **

list


a=[[1,2,3]]
b=[4,5,6]

a.append(b)
print(a)

#Ausgabe
[[1, 2, 3], [4, 5, 6]]

Es wird die gleiche Dimension.


## Methode verlängern Fügen Sie am Ende ein Element hinzu. (Fügen Sie jeweils ein Zeichen hinzu)

verlängern └ Fügen Sie jeweils ein Zeichen hinzu └ Zeichenkette wird zerlegt

1-dimensionale Liste


a=[1,2,3]
b=[4,5,6]

a.extend(b)
print(a)

#Ausgabe
[1, 2, 3, 4, 5, 6]

String


a=[1,2,3]

a.extend("abcde")
print(a)

#Ausgabe
[1, 2, 3, 'a', 'b', 'c', 'd', 'e']

** ▼ Sie können sich selbst hinzufügen (* Unterschied zum Anhängen) **

python


a=[1,2,3]

a.extend(a)
print(a)

#Ausgabe
[1, 2, 3, 1, 2, 3]

** ▼ Kombinieren Sie in Stücken für mehrdimensionale **

python


a=[1,2,3]
b=[[4,5,6],[7,8,9]]

a.extend(b)
print(a)

#Ausgabe
[1, 2, 3, [4, 5, 6], [7, 8, 9]]

Zwei Dimensionen


a=[[1,2,3]]
b=[[4,5,6],[7,8,9]]

a.extend(b)
print(a)

#Ausgabe
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

## Mit Scheibe hinzufügen Obwohl es sich nicht um eine Methode handelt, ist es auch möglich, einen Bereich mit einem Slice anzugeben und einzufügen.

■ Eigenschaften, die sowohl erweitert als auch angehängt sind ・ Zur gleichen Ebene hinzufügen ・ Chunks hinzufügen (nicht zeichenweise zerlegen)

Element hinzufügen

list [x: x] = Element zum Hinzufügen └ x: Indexnummer, die Sie hinzufügen möchten └ Geben Sie denselben Bereich für den Slice-Bereich an. * Wenn sie unterschiedlich sind, wird sie ersetzt.

Index Nummer 1 ist "'aaa','bbb'"Hinzufügen


a=[1,2,3]

a[1:1]=['aaa','bbb']
print(a)

#Ausgabe
[1, 'aaa', 'bbb', 2, 3]

** ▼ Negative Indexnummer kann angegeben werden **

Minus-


a=[1,2,3]

a[-1:-1]=['aaa','bbb']
print(a)

#Ausgabe
[1, 2, 'aaa', 'bbb', 3]

Ab dem letzten Element wird es 0, -1, -2 ,,,.


** ▼ Bezeichnung außerhalb des Bereichs ** ・ Wenn es auf der Plus-Seite größer ist, fügen Sie es am Ende hinzu. ・ Wenn es auf der Minus-Seite groß ist, fügen Sie es am Anfang hinzu.

Außerhalb des Plusbereichs


a=[1,2,3]

a[10:10]=['aaa','bbb']
print(a)

#Ausgabe
[1, 2, 3, 'aaa', 'bbb']

Außerhalb des negativen Bereichs


a=[1,2,3]

a[-10:-10]=['aaa','bbb']
print(a)

#Ausgabe
['aaa', 'bbb', 1, 2, 3]

Ersetzen

list [x: y] = hinzuzufügendes Element └ Ersetzen Sie den Bereich von x bis y-1. └ y ist nicht enthalten

** ▼ Ersetzen Sie das n-te Element ** list[n:n+1]

Ersetzung der Indexnummer 2


a=[1,2,3,4,5,6,7]

a[2:3]=['aaa','bbb']
print(a)

##Ausgabe
[1, 2, 'aaa', 'bbb', 4, 5, 6, 7]

** ▼ Alle zusammen ersetzen **

Ersetzen Sie alle auf einmal


a=[1,2,3,4,5,6,7]

a[0:5]=['aaa','bbb']
print(a)

##Ausgabe
['aaa', 'bbb', 6, 7]

Ersetzen Sie den 0-4. Bereich.


** ▼ Wenn außerhalb des angegebenen Bereichs angegeben wird **

python


a=[1,2,3,4,5,6,7]

a[0:10]=['aaa','bbb']
print(a)

#Ausgabe
['aaa', 'bbb']

** ▼ Wenn außerhalb des angegebenen Bereichs angegeben wird 2 **

python


a=[1,2,3,4,5,6,7]

a[10:20]=['aaa','bbb']
print(a)

#Ausgabe
[1, 2, 3, 4, 5, 6, 7, 'aaa', 'bbb']

** ▼ Alle ersetzen **

python


a=[1,2,3,4,5,6,7]

a[:]=['aaa','bbb']
print(a)

#Ausgabe
['aaa', 'bbb']

## Methode entfernen Geben Sie einen Wert an, um das erste Element zu entfernen.

remove (zu entfernendes Element) └ Wenn mehrere vorhanden sind, wird ** nur das erste Element ** gelöscht └ Nicht vorhandener Wert ist ein Fehler

python


a = [1,2,3]

a.remove(1)
print(a)

#Ausgabe
[2, 3]

** ▼ Wenn mehrere Werte angegeben sind **

python


a = [1,2,3,1,2,3,1,2,3]

a.remove(2)
print(a)

#Ausgabe
[1, 3, 1, 2, 3, 1, 2, 3]

Löschen Sie nur das erste Element.


## Pop-Methode Löschen Sie durch Angabe der Indexnummer.

pop (Indexnummer) └ Löschen Sie den Wert der entsprechenden Indexnummer └ Zahlen außerhalb des Bereichs sind Fehler

python


a = [1,2,3]

a.pop(2)
print(a)

#Ausgabe
[1, 2]

Indexnummer 2 (Wert 3) gelöscht.

▼ Fehler außerhalb des Bereichs

python


a = [1,2,3]

a.pop(-10)
print(a)

#Ausgabe
IndexError: pop index out of range

## klare Methode `clear()` └ Halterung erforderlich └ Kein Argument * Fehler, wenn ein Argument vorliegt

python


a = [1,2,3]

a.clear()
print(a)

##Ausgabe
[]

Alle Inhalte verschwinden. Der Container (Variable) bleibt erhalten.

del Aussage

Obwohl es sich nicht um eine Listenmethode handelt, können Elemente mit der del-Anweisung gelöscht werden.

del list object [Indexnummer] └ Indexnummer angegeben durch Slice

▼ Löschen Sie durch Angabe der Indexnummer

python


a=[1,2,3]

del a[0]
print(a)

##Ausgabe
[2, 3]

Gleich wie Pop-Methode.

▼ Löschen Sie durch Angabe eines Bereichs

[Startwert: Endwert] └ Der Endwert wird nicht gelöscht. (Weniger als)

Nummer 3~Entfernen Sie 4 (5 nicht enthalten)


b=[1,2,3,4,5,6,7,8,9]

del b[3:5]
print(b)

##Ausgabe
[1, 2, 3, 6, 7, 8, 9]

▼ Alle löschen

Geben Sie den gesamten Bereich "[:]" im Slice an.

python


a=[1,2,3]

del a[:]
print(a)

##Ausgabe
[]

Gleich wie klare Methode.


## Sortiermethode

Aufsteigende Sorte

sort() └ Standard (umgekehrt = falsch) └ Kein Argument erforderlich * Fehler bei Eingabe

Aufsteigende Sorte


a=[4,2,10,-10]

a.sort()
print(a)

##Ausgabe
[-10, 2, 4, 10]

Alphabet


a=[]
a.extend("egkacb")

a.sort()
print(a)

##Ausgabe
['a', 'b', 'c', 'e', 'g', 'k']

Absteigende Sorte

sort(reverse=True) └ Geben Sie optional "reverse = True" an

Absteigende Sorte


a=[4,2,10,-10]

a.sort(reverse=True)
print(a)

##Ausgabe
[10, 4, 2, -10]

## umgekehrte Methode Invertieren Sie die Elemente der Liste. * Anders als absteigende Sortierung

Numerische Inversion


a=[4,2,10,-10]

a.reverse()
print(a)

##Ausgabe
[-10, 10, 2, 4]

Alphabetumkehr


a=[]
a.extend("egkacb")

a.sort()
print(a)

##Ausgabe
['b', 'c', 'a', 'k', 'g', 'e']

## Vorsichtsmaßnahmen für zerstörerische Methoden ** Kann keiner Variablen zugewiesen werden. ** ** **

Weil Sie das ursprüngliche Objekt ändern. Zum Beispiel -A.append () bezieht sich auf "a" selbst. -Es gibt kein "a.append ()".

nicht existieren


a = [1,2,3]

b = a.append(4)
print(b)

##Ausgabe
None

Da die nicht existierende der Variablen b zugeordnet ist, ist der Inhalt von b Keine.

Wenn Sie weitere Elemente hinzufügen möchten, spielen Sie erneut mit einem selbst.


## Beispiel für eine destruktive Methode

▼ Frage Wenn eine der Optionen Einfügen, Drucken, Entfernen, Anhängen, Sortieren, Popup und Umkehren eingegeben wird, wird der entsprechende Prozess ausgeführt.

URL

▼sample input

python


12 #Anzahl der einzugebenden Befehle
insert 0 5
insert 1 10
insert 0 6
print
remove 6
append 9
append 1
sort
print
pop
reverse
print

▼sample output

python


[6, 5, 10]
[1, 5, 9, 10]
[9, 5, 1]

▼answer1

python


if __name__ == '__main__':
    n = int(input())
    lists = [input() for _ in range(n)]

    arr=[]
    for i in lists:
        arr.append(i.split())
    
    res=[]
    for j in arr:
        
        if len(j) >= 2:
            a=int(j[1])
        
        if len(j) >=3:
            b=int(j[2])
        
        #Jeder Prozess
        if j[0]=="insert":
            res.insert(a, b)
        
        if j[0]=="print":
            print(res)
            
        if j[0]=="remove":
            res.remove(a)
            
        if j[0]=="append":
            res.append(a)
            
        if j[0]=="sort":
            res.sort()
            
        if j[0]=="reverse":
            res.reverse()
            
        if j[0]=="pop":
            res.pop()
ans=res

▼answer2 (with eval method)

python


n = int(input())
l = []
for _ in range(n):
    s = input().split()
    cmd = s[0]
    args = s[1:]
    if cmd !="print":
        #Erstellen Sie ein Argumentteil mit einer Zeichenfolge und kombinieren Sie es mit cmd
        cmd += "("+ ",".join(args) +")"
        
        #Ausdruck ausführen (Zeichenfolge in Klammern)
        eval("l."+cmd)
    else:
        print (l)

Eval (" Ausdruck ") └ Setzen Sie einen Ausdruck in das Argument * Keine Aussage

Führt den Ausdruck der durch das Argument angegebenen Zeichenfolge aus. ・ Beispiel: eval ("list.insert (2,5)")


Recommended Posts

[Python] Liste der wichtigsten destruktiven Methoden für Listenoperationen (Hinzufügen / Löschen / Sortieren)
Liste der grundlegenden Operationen für Python3-Listen, -Tapples, -Wörterbücher und -Sätze
[Python] Operation der Aufzählung
Liste der Python-Module
Python: Ruft eine Liste der Methoden für ein Objekt ab
Zusammenfassung der Python3-Listenoperationen
Filterbetrieb (Keine, Liste)
[Python] Operationsnotiz von Pandas DataFrame
Informationen zur Grundlagenliste der Python-Grundlagen
[Einführung in die Udemy Python3 + -Anwendung] 18. Listenmethode
[Einführung in die Udemy Python3 + -Anwendung] 17. Listenoperation
[Python] Ruft eine Liste der Instanzvariablen ab
Grundlegende Grammatik der Python3-Reihe (Liste, Tapple)
Zusammenfassung der Verwendung der Python-Liste
[Python] Nur eine Liste der Ordner abrufen
Memorandum zum Löschen von Python-Strings