Heim  >  Artikel  >  Backend-Entwicklung  >  Wie initialisiere ich eine Liste in Python?

Wie initialisiere ich eine Liste in Python?

青灯夜游
青灯夜游Original
2019-03-19 12:00:0815864Durchsuche

Python ist eine sehr flexible Sprache und kann eine einzelne Aufgabe auf viele Arten ausführen, beispielsweise kann eine Initialisierungsliste auf viele Arten ausgeführt werden. Der folgende Artikel stellt Ihnen verschiedene Python-Initialisierungsmethoden vor und vergleicht die Effizienz dieser Methoden. Ich hoffe, dass er für Sie hilfreich ist.

Wie initialisiere ich eine Liste in Python?

Im Folgenden stellen wir einige Methoden zum Initialisieren einer Liste in Python vor (wir erstellen eine Liste der Größe 1000 und initialisieren sie mit Null).

Methode 1: For-Schleife und append() verwenden

Wir können eine leere Liste erstellen und die append()-Methode verwenden, um die zu übergeben for-Schleife n-mal ausführen, um Elemente zur Liste hinzuzufügen.

arr = []
for i in range(1000):
    arr.append(0)

Methode 2: While-Schleife mit Zählervariable und append() verwenden

Dies ähnelt etwas Methode 1, aber wir verwenden while Schleife statt for-Schleife.

arr = []
i = 0
while(i<1000):
    arr.append(0)

Methode Drei: Listenverständnis verwenden

Listenverständnis ist eine Methode, die von Mathematikern verwendet wird, um bekannte Notationen zu implementieren. Die pythonische Art des Sammelns . Es besteht aus eckigen Klammern, die einen Ausdruck enthalten, gefolgt von einer for-Klausel und einer optionalen if-Klausel.

Der Ausdruck kann ein beliebiger Objekttyp sein, den wir in die Liste einfügen möchten. Da wir die Liste mit Null initialisiert haben, ist unser Ausdruck nur 0.

arr = [0 for i in range(1000)]

Erläuterung: Verwenden Sie Listenverständnis, um effizienten Code zu schreiben, und seine Ausführungsgeschwindigkeit ist 35 % schneller als die for-Schleife.

Methode 4: Verwenden Sie den *-Operator

-Operator kann als [Objekt] * n verwendet werden, wobei n die Anzahl der Elemente im ist Array.

arr = [0]*1000

Vergleich der Code-Ausführungszeit

Werfen wir einen Blick auf die Ausführungszeit dieser vier Methoden, um zu sehen, welche Methode schneller ist.

Beispiel: Wir berechnen die durchschnittliche Zeit, die jede Methode benötigt, um ein Array mit 10.000 Elementen 500 Mal zu initialisieren.

# 导入时间模块以计算时间
import time 
  
# 初始化列表以保存时间
forLoopTime = [] 
whileLoopTime = [] 
listComprehensionTime = [] 
starOperatorTime = [] 
  
# 重复此过程500次,并计算所用的平均时间。
for k in range(500):  
  
    # 开始时间
    start = time.time() 
    # 声明空列表
    a = [] 
    # 执行for循环10000次
    for i in range(10000): 
        a.append(0) 
    # 停止时间
    stop = time.time() 
    forLoopTime.append(stop-start) 
  
    # 开始时间
    start = time.time() 
    # 声明空列表
    a = [] 
    i = 0
    # 执行while循环10000次
    while(i<10000): 
        a.append(0) 
        i+= 1
    stop = time.time() 
    whileLoopTime.append(stop-start) 
  
    start = time.time() 
    # 使用列表推导(List Comprehension) 来初始化列表
    a = [0 for i in range(10000)]  
    stop = time.time() 
    listComprehensionTime.append(stop-start) 
  
  
    start = time.time() 
    # 使用*运算符
    a = [0]*10000 
    stop = time.time() 
    starOperatorTime.append(stop-start) 
  
  
  
print("for循环所用的平均时间:" + str(sum(forLoopTime)/100)) 
print("while循环所用的平均时间:" + str(sum(whileLoopTime)/100)) 
print("列表推导所用的平均时间:" + str(sum(listComprehensionTime)/100)) 
print("* 运算符所用的平均时间: " + str(sum(starOperatorTime)/100))

Ausgabe:

Wie initialisiere ich eine Liste in Python?

Hinweis: Die Zeiten variieren je nach Plattform, auf der dieser Code ausgeführt wird. Diese Zeiten werden nur verwendet, um die relative Leistung dieser Initialisierungsmethoden zu untersuchen.

● Es ist ersichtlich, dass die Zeit, die die for- und while-Schleifen benötigen, nahezu gleich ist.

● Die Leistung des Listenverständnisses ist viel besser als bei for- und while-Schleifen, erstere ist 3-5 mal schneller. Ein weiteres Beispiel für diesen Unterschied lässt sich erkennen, wenn wir versuchen, eine Liste mit Zahlen von 1 bis 1000 zu erstellen. Die Verwendung eines Listenverständnisses ist viel besser als die Verwendung von append().

a = [i for i in range(1,1001)]

● Die Verwendung des *-Operators ist schneller als die anderen, so sollten Sie die Liste initialisieren

Empfehlung für ein entsprechendes Video-Tutorial: „Python-Tutorial

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWie initialisiere ich eine Liste in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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