2016-08-01 9 views
1

ich bemerkt, dass Sie die Liste von Skalar multiplizieren können, aber das Verhalten ist seltsam Wenn ich multiplizieren:Listen in Python

[2,3,4] * 3 

ich:
[2,3,4,2,3,4,2,3,4]
ich die Ergebnisse verstehen, aber was es ist gut für ? Gibt es noch andere seltsame Operationen?

+0

warum nach unten Abstimmung? Ich habe die Seite durchsucht und keine Antwort gefunden, wofür ist das gut? –

Antwort

3

Der Hauptzweck dieses Operanden ist die Initialisierung. Zum Beispiel, wenn Sie eine Liste mit 20 zu gleichen Teilen initialisieren möchten, können Sie tun, indem es eine for-Schleife:

arr=[] 
for i in range(20): 
    arr.append(3) 

Ein alternativer Weg wird diesen Operator verwenden:

arr = [3] * 20 

Mehr seltsam und normalen Listenoperation in Listen finden Sie hier http://www.discoversdk.com/knowledge-base/using-lists-in-python

0

Die Operation hat die Verwendung von Arrays erstellt, die mit einem gewissen Wert initialisiert wurden.

Zum Beispiel [5]*1000 bedeutet "Erstellen Sie ein Array der Länge 1000 initialisiert mit 5".

Wenn Sie jedes Element multiplizieren möchten, indem Sie 3 verwenden

map(lambda x: 3*x, arr) 
+0

und es nur für die Initialisierung? Warum hat der Python-Schreiber einen seltsamen Operator statt einer einfachen Init-Funktion? –