So verwenden Sie komplexe Datentypen in Python

WBOY
Freigeben: 2023-06-04 09:22:16
nach vorne
935 Leute haben es durchsucht

1. Sequenz:

Sequenzerweiterungstypen umfassen: Zeichenfolge, Tupel und Liste.

So verwenden Sie komplexe Datentypen in Python

Zu den Operationen, die an einer Sequenz ausgeführt werden können, gehören Indizierung, Slicing, Addition, Multiplikation und Überprüfung von Mitgliedern.

Darüber hinaus verfügt Python über integrierte Methoden zur Bestimmung der Länge einer Sequenz und zur Bestimmung der größten und kleinsten Elemente.

2. Liste: [a1, a2], variabler Datentyp

Liste: Liste ist eine Erweiterung des Sequenztyps, die sehr häufig verwendet wird

1 Erstellung einer Liste

  • Liste ist ein Sequenztyp, der geändert werden kann wird nach der Erstellung

  • Verwenden Sie eckige Klammern [] oder list() zum Erstellen und verwenden Sie Kommas, um Elemente zu trennen

  • Jeder Elementtyp in der Liste kann unterschiedlich sein, es gibt keine Längenbeschränkung

hobby_list = [hobby, 'run', 'girl']

print(id(hobby_list)) # 4558605960
print(type(hobby_list)) # 
print(hobby_list) # ['read', 'run', 'girl']
Nach dem Login kopieren

Wenn Möchten Sie eine Liste mit einer Länge von 10 initialisieren

list_empty = [None]*10
print(list_empty)
# [None, None, None, None, None, None, None, None, None, None]
Nach dem Login kopieren

Verwenden Sie die Funktion range(), um eine Liste zu erstellen:

hobby_list = list(range(5))
# [0, 1, 2, 3, 4]
Nach dem Login kopieren

2, zusammengesetzte Liste und mehrdimensionale Liste

hobby_list = ['read', 'run',['girl_name', 18, 'shanghai'] ]
print(hobby_list[2][1])#  取出girl的年龄 18
Nach dem Login kopieren

Python erstellt eine zweidimensionale Liste und schreibt die erforderlichen Parameter hinein Spalten und Zeilen, d.

list_2d = [[0 for i in range(5)] for i in range(5)]
list_2d[0].append(3)
list_2d[0].append(5)
list_2d[2].append(7)
print(list_2d)
# [[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
Nach dem Login kopieren

4. Listenänderung

Sie können die Datenelemente der Liste auch ändern oder aktualisieren. Sie können auch die Methode append() verwenden, um Listenelemente hinzuzufügen . Bei einer bestimmten Datenstruktur wie einem Stapel wird das zuletzt eingefügte Element als erstes entfernt (first in, last out).

Verwenden Sie die Methode append(), um ein Element oben im Stapel hinzuzufügen. Verwenden Sie die Methode pop(), um das Element oben im Stapel zu entfernen, ohne einen Index anzugeben.

append

: Fügen Sie ein Element hinzu. Zum Beispiel:

# 以下实例展示了3X4的矩阵列表:
matrix = [
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 10, 11, 12],
]

# 以下实例将3X4的矩阵列表转换为4X3列表:
transposed=[[row[i] for row in matrix] for i in range(4)]
print(transposed)
# [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

# 以下实例也可以使用以下方法来实现:
transposed = []
for i in range(4):
    transposed.append([row[i] for row in matrix])
print(transposed)
# [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
Nach dem Login kopieren

3. Listenverständnisse

    Listenverständnisse bieten eine einfache Möglichkeit, Listen aus Sequenzen zu erstellen. Typischerweise wenden Anwendungen einige Operationen auf jedes Element einer Sequenz an und verwenden das Ergebnis als Element, um eine neue Liste zu generieren oder eine Teilsequenz basierend auf bestimmten Kriterien zu erstellen.
  • Jedes Listenverständnis beginnt mit for, gefolgt von einem Ausdruck und dann null oder mehr for- oder if-Klauseln. Die generierte Liste wird durch die Ausdrücke definiert, die den for- und if-Anweisungen im Kontext folgen. Wenn der Ausdruck ein Tupel ableiten soll, müssen Sie Klammern verwenden.

  • 1. Schreibform für Listenableitung:
  • [Ausdruck für Variable in Liste]

Beispiel:

hobby_list = ['read', 'run', 'girl']
# 索引序号      0       1      2

print(hobby_list[1])#  取出第二个爱好 <code>run
Nach dem Login kopieren

2. Listenableitung Es gibt eine verschachtelte Beziehung zwischen den verschachtelten

-Anweisungen.

Die zweite Aussage links ist die äußerste Ebene, gehen Sie eine Ebene nach rechts, und die erste Aussage links ist die letzte Ebene. Seine Ausführungsreihenfolge lautet: Liste und die neue Liste müssen die ursprüngliche Reihenfolge der Liste beibehalten

hobby_list = [&#39;read&#39;, &#39;run&#39;, &#39;girl&#39;]
hobby_list[0] = &#39;write&#39;
Nach dem Login kopieren

6. Tupel (Tupel): (a1, a2)

Ein Tupel ist Ein Listentyp, der einmal erstellt wurde und nicht mehr geändert werden kann.

stack = [3, 4, 5]
stack.append(6)
stack.append(7)
print(stack)
# [3, 4, 5, 6, 7]

print(stack.pop())
# 7
print(stack)
# [3, 4, 5, 6]
print(stack.pop())
# 6
print(stack.pop())
# 5

print(stack)
# [3, 4]
Nach dem Login kopieren
  • Beachten Sie den Unterschied zu Strings:

    print([i for i in range(10)] )  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    print([i ** 2 for i in range(10)])  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
      
    print([0 for i in range(5)])  #[0, 0, 0, 0, 0]
    
    name_list = [&#39;nick&#39;, &#39;sean&#39;, &#39;jason&#39;, &#39;tank&#39;]
    for n in [name if name == &#39;nick&#39; else name + &#39;_a&#39; for name in name_list] :
        print(n)  # &#39;nick&#39;, &#39;sean_a&#39;, &#39;jason_a&#39;, &#39;tank_a&#39;
    
    li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    print( [x ** 2 for x in li]) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
    print( [x ** 2 for x in li if x > 5]) # [36, 49, 64, 81]
    print(dict([(x, x * 10) for x in li])) # {1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60, 7: 70, 8: 80, 9: 90} #生成字典
    
    vec1 = [2, 4, 6]
    vec2 = [4, 3, -9]
    sq = [vec2[i] + vec2[i] for i in range(len(vec))]  # 实现列表相加
    print(sq)
    # [6, 7, -3]
    
    testList = [1, 2, 3, 4]
    
    def mul2(x):
        return x * 2
    
    
    print([mul2(i) for i in testList]) #使用复杂表达式或嵌套函数:
    # [2, 4, 6, 8]
    Nach dem Login kopieren
  • 2. Tupeloperationen
  • Indexwert, Slicing (unabhängig von Anfang und Ende, Schrittgröße), Länge len, Elementoperationen in und nicht in, Schleifen, Anzahl , Index usw. sind mit Listen identisch, die Werte werden jedoch nicht geändert.

Die Elementwerte in Tupeln dürfen nicht geändert werden, aber wir können Tupel verbinden und kombinieren, wie im folgenden Beispiel gezeigt:

[x*y for x in range(1,5) if x > 2 for y in range(1,4) if y < 3]
Nach dem Login kopieren

3. Eine aktualisierte Version des Python-Tupels

for x in range(1,5)
    if x > 2
        for y in range(1,4)
            if y < 3
                x*y
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie komplexe Datentypen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!