2014-03-13 5 views

Antwort

72

Curly Klammern erstellen dictionaries oder sets. Eckige Klammern erstellen lists.

Sie heißen Literale; ein Satz wörtlichen:

aset = {'foo', 'bar'} 

oder ein Wörterbuch wörtlichen:

adict = {'foo': 42, 'bar': 81} 
empty_dict = {} 

oder eine Liste wörtliche:

alist = ['foo', 'bar', 'bar'] 
empty_list = [] 

eine leere Menge zu erstellen, können Sie nur set() verwenden.

Sets sind Sammlungen von einzigartige Elemente und Sie können sie nicht bestellen. Listen sind geordnete Folgen von Elementen und Werte können wiederholt werden. Wörterbücher ordnen Schlüssel den Werten zu, Schlüssel müssen eindeutig sein. Set- und Dictionary-Schlüssel müssen auch andere Einschränkungen erfüllen, damit Python sie effizient verfolgen kann und weiß, dass sie einzigartig sind und bleiben.

Es besteht auch die tuple type, ein Komma für 1 oder mehrere Elemente verwendet, mit Klammern in vielen Zusammenhängen optional sein:

atuple = ('foo', 'bar') 
another_tuple = 'spam', 
empty_tuple =() 
WARNING_not_a_tuple = ('eggs') 

Hinweis des Komma in der another_tuple Definition; Es ist das Komma, das es zu einem tuple macht, nicht die Klammer. WARNING_not_a_tuple ist kein Tupel, es hat kein Komma. Ohne die Klammern bleibt nur noch eine Zeichenfolge übrig.

Weitere Details finden Sie im data structures chapter des Python-Lernprogramms; Listen werden in der introduction chapter eingeführt.

Literale für solche Container werden auch displays genannt und die Syntax ermöglicht die prozedurale Erstellung der Inhalte auf der Basis von Schleifen, genannt comprehensions.

9

Sie erstellen verschiedene Arten.

>>> type({}) 
<type 'dict'> 
>>> type([]) 
<type 'list'> 
>>> type({1, 2}) 
<type 'set'> 
>>> type({1: 2}) 
<type 'dict'> 
>>> type([1, 2]) 
<type 'list'> 
+0

Ich bin neugierig, dass, wenn ich zum Beispiel sowohl {1,2} als auch [1,2] zum Sortieren verwende, gibt es einen besseren zwischen diesen beiden? –

+1

Sets sind ungeordnet und entfernen doppelte Werte. Abgesehen davon ist es wahrscheinlich, dass die Weitergabe an eine Sortierfunktion nicht sehr unterschiedlich ist. Sie können Listen mithilfe von .sort() an Ort und Stelle sortieren. – Daenyth

0

Diese zwei Klammern werden für verschiedene Zwecke verwendet. Wenn Sie möchten, dass eine Liste nur einige Elemente enthält und sie nach Indexnummern sortiert (beginnend mit 0), verwenden Sie einfach die [] und fügen Sie Elemente nach Bedarf hinzu.{} sind speziell, dass Sie benutzerdefinierte IDs an Werte wie a = {"John": 14} geben können. Jetzt, anstatt eine Liste mit einem Alter zu erstellen und sich daran zu erinnern, wessen Alter wo ist, können Sie einfach auf Johns Alter zugreifen, indem Sie a["John"]. Die [] heißt eine Liste und {} heißt ein Wörterbuch (in Python). Wörterbücher sind im Grunde eine praktische Form der Liste, die Ihnen den Zugriff auf Daten auf eine viel einfachere Weise ermöglicht.

Allerdings gibt es einen Haken für Wörterbücher. Viele Male bleiben die Daten, die Sie in das Wörterbuch eingeben, nicht in der gleichen Reihenfolge wie zuvor. Wenn Sie also jeden Wert einzeln durchgehen, wird es nicht in der von Ihnen erwarteten Reihenfolge sein. Es gibt ein spezielles Wörterbuch, um dies zu umgehen, aber Sie müssen diese Zeile from collections import OrderedDict hinzufügen und {} durch OrderedDict() ersetzen. Aber ich glaube nicht, dass Sie sich im Moment darum kümmern müssen.

Verwandte Themen