Vergleichszusammenfassung von Datencontainern für das grundlegende Erlernen von Python

Klassifizierung von Datencontainern

Datencontainer können einfach aus folgenden Perspektiven klassifiziert werden:

① Ob Indexindex unterstützt wird:
Unterstützt: Liste, Tupel, String – Sequenztyp
Nicht unterstützt: Set, Wörterbuch – Nicht-Sequenztyp

② Ob wiederholte Elemente unterstützt werden:
Unterstützt: Liste, Tupel, String – Sequenztyp
nicht unterstützt: Set, Wörterbuch - Nicht-Sequenztyp

③ Kann geändert werden:
Unterstützt: Liste, Menge, Wörterbuch
Nicht unterstützt: Tupel, Zeichenfolge

Vergleich der Datencontainerfunktionen

Liste Tupel Zeichenfolge versammeln Wörterbuch
Anzahl der Elemente Unterstützen Sie mehrere Unterstützen Sie mehrere Unterstützen Sie mehrere Unterstützen Sie mehrere Unterstützen Sie mehrere
Elementtyp willkürlich willkürlich Nur Zeichen willkürlich Schlüssel: Wert
Schlüssel: jeder Typ außer Wörterbuch
Wert: jeder Typ
tiefgestellter Index Unterstützung Unterstützung Unterstützung nicht unterstützt nicht unterstützt
Sich wiederholende Elemente Unterstützung Unterstützung Unterstützung nicht unterstützt nicht unterstützt
Modifizierbarkeit Unterstützung nicht unterstützt nicht unterstützt Unterstützung Unterstützung
Daten in Ordnung Ja Ja Ja NEIN NEIN
Szenen, die verwendet werden sollen Modifizierbare und wiederholbare Batch-Datenaufzeichnungsszenarien Unveränderbare und wiederholbare Batch-Datenaufzeichnungsszenarien Aufnahmeszene einer Zeichenfolge Nicht wiederholbare Datenaufzeichnungsszenarien Datenaufzeichnungsszenario zum Abrufen von Werten nach Schlüssel

Anwendungsszenarien

Basierend auf den Eigenschaften verschiedener Arten von Datencontainern lauten ihre Anwendungsszenarien wie folgt:

Liste: Ein Datenstapel, ein Speicherszenario, das geändert werden kann und wiederholbar ist.
Tupel: Ein Datenstapel, ein Speicherszenario, das nicht geändert werden kann und wiederholbar ist.
String: Ein Speicherszenario für eine Zeichenfolgenfolge. Set: Ein Stapel von Daten, ein Wörterbuch
deduplizierter Speicherszenarien.

Allgemeine Operationen für Datencontainer

Gemeinsame Operationen von Datencontainern – Traversierung

Obwohl jeder Datencontainer seine eigenen Merkmale aufweist, weisen sie auch einige gemeinsame Vorgänge auf.

Erstens in Bezug auf die Durchquerung:
①5 Arten von DatencontainernBeide unterstützen SchleifenTraverse
Listen, Tupel und Strings unterstützen While-Schleifen, Sammlungen und Wörterbücher werden nicht unterstützt (Index kann nicht tiefgestellt werden)

Obwohl es verschiedene Formen der Durchquerung gibt, unterstützen sie alle Durchquerungsoperationen.

Beispiel:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_list = []
i = 0
while i < len(my_list):
    if my_list[i] % 2 == 0:
        new_list.append(my_list[i])
    i += 1

print(f"偶数形成的新列表:{
      
      new_list}")

Operationsergebnis:

Neue Liste aus geraden Zahlen: [2, 4, 6, 8, 10]

Allgemeine statistische Funktionen von Datencontainern

Zusätzlich zur Gemeinsamkeit der Traversierung können Datencontainer viele funktionale Methoden gemeinsam nutzen.

len (container) : zählt die Anzahl der
Elemente im Container ② max (container) : zählt das größte Element des Containers
min (container) : zählt das kleinste Element des Containers

Beispiel:

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = "abcdefg"
my_set = {
    
    1, 2, 3, 4, 5}
my_dict = {
    
    "key1": 1, "key2": 2, "key3": 3}

# len元素个数
print(f"列表 元素个数有:{
      
      len(my_list)}")
print(f"元组 元素个数有:{
      
      len(my_tuple)}")
print(f"字符串 元素个数有:{
      
      len(my_str)}")
print(f"集合 元素个数有:{
      
      len(my_set)}")
print(f"字典 元素个数有:{
      
      len(my_dict)}")

# max最大元素
print(f"列表 最大的元素是:{
      
      max(my_list)}")
print(f"元组 最大的元素是:{
      
      max(my_tuple)}")
print(f"字符串最大的元素是:{
      
      max(my_str)}")
print(f"集合 最大的元素是:{
      
      max(my_set)}")
print(f"字典 最大的元素是:{
      
      max(my_dict)}")

# min最小元素
print(f"列表 最小元素是:{
      
      min(my_list)}")
print(f"元组 最小元素是:{
      
      min(my_tuple)}")
print(f"字符串最小元素是:{
      
      min(my_str)}")
print(f"集合 最小元素是:{
      
      min(my_set)}")
print(f"字典 最小元素是:{
      
      min(my_dict)}")

Operationsergebnis:

Die Anzahl der Elemente in der Liste beträgt: 5
Die Anzahl der Elemente im Tupel beträgt: 5
Die Anzahl der Elemente in der Zeichenfolge beträgt: 7 Die
Anzahl der Elemente in der Sammlung beträgt: 5
Die Anzahl der Elemente im Wörterbuch beträgt: 3
Das größte Element der Liste ist: 5
Das größte Element des Tupels ist:5
Das größte Element der Zeichenfolge ist: g
Das größte Element der Menge ist: 5
Das größte Element des Wörterbuchs ist: key3
Das kleinste Element von Liste ist: 1 Das kleinste Element
des Tupels ist: 1
Das kleinste Element der Zeichenfolge ist: a
Das kleinste Element der Menge ist: 1
Das kleinste Element des Wörterbuchs ist: key1

Tipps : Tastenkombinationen: Umschalt+Alt+Maus ziehen: Sie können mehrere Zeilen mit denselben Positionsoptionen gleichzeitig zum Ersetzen und für andere Vorgänge auswählen.

Universelle Konvertierungsfunktionen für Container

Neben der Gemeinsamkeit der Indexindizierung ist auch eine universelle Typkonvertierung möglich.

① Liste (Container): Konvertieren Sie
in eine Liste . ② Str (Container): Konvertieren Sie
in einen String . ③ Tupel (Container): Konvertieren Sie den angegebenen Container in ein Tupel.
④ Set (Container): Konvertieren Sie den angegebenen Container für Sammlung

Beispiel:

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = "abcdefg"
my_set = {
    
    1, 2, 3, 4, 5}
my_dict = {
    
    "key1": 1, "key2": 2, "key3": 3}
# 类型转换:容器转列表
print(f"列表转列表的结果是:{
      
      list(my_list)}")
print(f"元组转列表的结果是:{
      
      list(my_tuple)}")
print(f"字符串转列表结果是:{
      
      list(my_str)}")
print(f"集合转列表的结果是:{
      
      list(my_set)}")
print(f"字典转列表的结果是:{
      
      list(my_dict)}")
# 类型转换:容器转元组
print(f"列表转元组的结果是:{
      
      tuple(my_list)}")
print(f"元组转元组的结果是:{
      
      tuple(my_tuple)}")
print(f"字符串元组表结果是:{
      
      tuple(my_str)}")
print(f"集合转元组的结果是:{
      
      tuple(my_set)}")
print(f"字典转元组的结果是:{
      
      tuple(my_dict)}")
# 类型转换:容器转字符串
print(f"列表转字符串的结果是:{
      
      str(my_list)}")
print(f"元组转字符串的结果是:{
      
      str(my_tuple)}")
print(f"字符串字符串表结果是:{
      
      str(my_str)}")
print(f"集合转字符串的结果是:{
      
      str(my_set)}")
print(f"字典转字符串的结果是:{
      
      str(my_dict)}")
# 类型转换:容器转集合
print(f"列表转集合的结果是:{
      
      set(my_list)}")
print(f"元组转集合的结果是:{
      
      set(my_tuple)}")
print(f"字符串集合表结果是:{
      
      set(my_str)}")
print(f"集合转集合的结果是:{
      
      set(my_set)}")
print(f"字典转集合的结果是:{
      
      set(my_dict)}")

Operationsergebnis:

Das Ergebnis der Konvertierung einer Liste in eine Liste ist: [1, 2, 3, 4, 5]
Das Ergebnis der Konvertierung eines Tupels in eine Liste ist: [1, 2, 3, 4, 5]
Das Ergebnis der Konvertierung einer Zeichenfolge zu einer Liste ist: ['a', ' b', 'c', 'd', 'e', ​​​​'f', 'g'] Das Ergebnis der Konvertierung der Menge in eine Liste ist: [1
, 2, 3, 4, 5]
Das Ergebnis der Konvertierung des Wörterbuchs in eine Liste ist: [' key1', 'key2', 'key3']
Das Ergebnis der Konvertierung der Liste in ein Tupel ist: (1, 2, 3, 4, 5)
Das Ergebnis der Konvertierung von Tupel in Tupel ist: (1, 2, 3, 4, 5)
Das Ergebnis der String-Tupeltabelle ist: ('a', 'b', 'c', 'd', 'e' , ​​'f', 'g') Das Ergebnis des Setzens auf Tupel ist: (1, 2
, 3, 4, 5)
Das Ergebnis der Konvertierung des Wörterbuchs in Tupel ist: ('key1', 'key2', 'key3 ')
Das Ergebnis der Konvertierung einer Liste in einen String ist: [1, 2, 3, 4, 5]
Tupel zu Zeichen Das Ergebnis eines Strings ist: (1, 2, 3, 4, 5)
Das Ergebnis einer String-String-Tabelle ist:
Das Ergebnis der Konvertierung des abcdefg-Sets in einen String ist: {1, 2, 3, 4, 5}
Das Ergebnis der Konvertierung des Wörterbuchs in einen String ist: {'key1': 1, 'key2': 2, 'key3': 3}
Das Ergebnis der Konvertierung der Liste in die Menge ist: {1, 2, 3, 4, 5}
Das Ergebnis der Konvertierung des Tupels in die Menge ist: {1, 2, 3, 4, 5}
Das Ergebnis der Konvertierung einer Zeichenfolge zu einer Menge ist: {'d', 'f', 'b', 'e', ​​​​'g', 'c', 'a'} Das Ergebnis der Konvertierung einer Menge in eine Menge ist: {1
, 2, 3, 4, 5}
Das Ergebnis der Konvertierung des Wörterbuchs in einen Satz ist: {'key3', 'key2', 'key1'}

Universelle Sortierfunktion für Behälter

Syntax:
sorted(container, [reverse=True]): Sortiert den angegebenen Container

Beachten Sie, dass Sie nach dem Sortieren ein Listenobjekt erhalten und das Wörterbuch seinen Wert verliert .

Beispiel:

# 进行容器的排序
my_list = [3, 5, 4, 1, 2]
my_tuple = (3, 5, 4, 1, 2)
my_str = "abcdefg"
my_set = {
    
    3, 5, 4, 1, 2}
my_dict = {
    
    "key1": 1, "key3": 3, "key2": 2}
# 正向排序
print(f"列表正向排序结果是:{
      
      sorted(my_list)}")
print(f"元组正向排序结果是:{
      
      sorted(my_tuple)}")
print(f"字符串正向排序结果是:{
      
      sorted(my_str)}")
print(f"集合正向排序结果是:{
      
      sorted(my_set)}")
print(f"字典正向排序结果是:{
      
      sorted(my_dict)}")
# 反向排序
print(f"列表反向排序结果是:{
      
      sorted(my_list, reverse=True)}")
print(f"元组反向排序结果是:{
      
      sorted(my_tuple, reverse=True)}")
print(f"字符串反向排序结果是:{
      
      sorted(my_str, reverse=True)}")
print(f"集合反向排序结果是:{
      
      sorted(my_set, reverse=True)}")
print(f"字典反向排序结果是:{
      
      sorted(my_dict, reverse=True)}")

Operationsergebnis:

Das Ergebnis der Vorwärtssortierung der Liste ist: [1, 2, 3, 4, 5] Das
Ergebnis der Vorwärtssortierung des Tupels ist: [1, 2, 3, 4, 5]
Das Ergebnis der Vorwärtssortierung der Zeichenfolge ist: ['a', 'b', 'c', 'd', 'e', ​​​​'f', 'g'] Das Ergebnis der Vorwärtssortierung der Menge ist: [1
, 2, 3, 4, 5]
Das Ergebnis der Vorwärtssortierung des Wörterbuchs ist: [ 'key1', 'key2', 'key3']
Das Ergebnis der umgekehrten Sortierung der Liste ist: [5, 4, 3, 2, 1]
Das Ergebnis der umgekehrten Sortierung des Tupels ist: [5, 4, 3, 2, 1]
Zeichen Das Ergebnis der umgekehrten Sortierung der Zeichenfolge ist: ['g', 'f', 'e' , ​​'d', 'c', 'b', 'a'] Das Ergebnis der umgekehrten Sortierung der Menge ist: [5, 4, 3 , 2, 1] Das Ergebnis der umgekehrten Sortierung des
Wörterbuchs
ist : ['key3', 'key2', 'key1']

Übersicht über allgemeine Funktionen von Containern

Funktion beschreiben
Generische for-Schleife Durchlaufen Sie den Container (das Wörterbuch ist der Durchlaufschlüssel)
max Das größte Element im Container
Mindest() Das kleinste Element im Container
len() Anzahl der Containerelemente
Liste() In Liste konvertieren
Tupel() In Tupel konvertieren
str() In String konvertieren
Satz() In Sammlung konvertieren
sortiert(Sequenz,[reverse=Ture]) Sortieren, reverse=True bedeutet absteigende Reihenfolge, um eine sortierte Liste zu erhalten

Erweiterung: String-Größenvergleich

ASCII-Codetabelle:
Fügen Sie hier eine Bildbeschreibung ein

Im Programm haben alle Zeichen, die in Zeichenfolgen verwendet werden, wie zum Beispiel:
① Englische Wörter in Groß- und Kleinbuchstaben
② Zahlen
③ Sonderzeichen (!, \, |, @, #, Leerzeichen usw.)
ihre entsprechenden ASCII-Codetabellenwerte.

Jedes Zeichen kann dem vorherigen entsprechen: dem Codewert der Zahl
Der String-Vergleich basiert auf der Größe des Codewerts der Zahl.

String-Vergleich

1. Zeichenfolgen werden Stück für Stück verglichen , dh ein Bit wird verglichen.Solange eine Person größer ist, ist das Ganze größer, und es besteht keine Notwendigkeit, später zu vergleichen.
Beispiel: abc ist größer als ab, abd ist größer als abc.

2. Wie bestimmt man die Größe einzelner Zeichen?
Verwenden Sie die ASCII-Codetabelle, um die Codewertnummer zu ermitteln, die dem Zeichen entspricht, um die Größe zu bestimmen.

Beispiel:

# abc 比较abd
print(f"abd大于abc,结果:{
      
      'abd' > 'abc'}")
# a 比较ab
print(f"ab大于a,结果:{
      
      'ab' > 'a'}")
# a 比较A
print(f"a大于A,结果:{
      
      'a' > 'A'}")
# key1比较key2
print(f"key2大于key1,结果:{
      
      'key2' > 'key1'}")

Operationsergebnis:

abd ist größer als abc, Ergebnis: Wahr
ab ist größer als a, Ergebnis: Wahr
a ist größer als A, Ergebnis: Wahr
key2 ist größer als key1, Ergebnis: Wahr

Ich denke du magst

Origin blog.csdn.net/weixin_44996886/article/details/132678500
Empfohlen
Rangfolge