Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie komplexe Datentypen in Python

So verwenden Sie komplexe Datentypen in Python

WBOY
WBOYnach vorne
2023-06-04 09:22:16897Durchsuche

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']

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]

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

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

2, zusammengesetzte Liste und mehrdimensionale Liste

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

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]]

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]]

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

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;

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]
  • 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]
  • 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]

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen