Python은 매우 유연한 언어이며 다양한 방법으로 단일 작업을 수행할 수 있습니다. 예를 들어 초기화 목록을 여러 방법으로 수행할 수 있습니다. 다음 기사에서는 여러 Python 초기화 방법을 소개하고 이러한 방법의 효율성을 비교하는 것이 도움이 되기를 바랍니다.
이제 Python에서 목록을 초기화하는 몇 가지 방법을 소개합니다(크기 1000의 목록을 만들고 0으로 초기화합니다).
방법 1: for 루프와 append() 사용
빈 목록을 만들고,append() 메서드를 사용하여 for 루프를 n번 반복하여 목록에 요소를 추가할 수 있습니다.
arr = [] for i in range(1000): arr.append(0)
방법 2: 카운터 변수 및 추가()와 함께 while 루프를 사용합니다.
이 방법은 방법 1과 다소 유사하지만 for 루프 대신 while 루프를 사용합니다.
arr = [] i = 0 while(i<1000): arr.append(0)
방법 3: 목록 이해 사용
목록 이해는 수학자들이 잘 알려진 레이블 집합을 구현하는 데 사용하는 Python 방식입니다. 표현식을 포함하는 대괄호, for 절, 선택적 if 절로 구성됩니다.
표현식은 목록에 넣고 싶은 모든 유형의 객체가 될 수 있습니다. 목록을 0으로 초기화했으므로 표현식은 0만 됩니다.
arr = [0 for i in range(1000)]
설명: 효율적인 코드를 작성하려면 목록 이해를 사용하고 for 루프보다 실행 속도가 35% 빠릅니다.
방법 4: * 연산자 사용
연산자는 [객체] * n으로 사용할 수 있습니다. 여기서 n은 배열의 요소 수입니다.
arr = [0]*1000
코드 실행 시간 비교
이 네 가지 메서드의 실행 시간을 살펴보고 어떤 메서드가 더 빠른지 살펴보겠습니다.
예: 각 메서드가 10,000개 요소의 배열을 500회 이상 초기화하는 데 걸리는 평균 시간을 계산합니다.
# 导入时间模块以计算时间 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))
출력:
참고: 시간은 이 코드가 실행되는 플랫폼에 따라 다릅니다. 이 시간은 이러한 초기화 방법의 상대적 성능을 연구하는 데에만 사용됩니다.
● for 루프와 while 루프에 걸리는 시간이 거의 같다는 것을 알 수 있습니다.
●목록 이해의 성능은 for 및 while 루프보다 훨씬 우수하며 전자는 3~5배 빠릅니다. 이 차이의 또 다른 예는 1부터 1000까지의 숫자 목록을 만들 때 볼 수 있습니다. 목록 이해를 사용하는 것이 Append()를 사용하는 것보다 훨씬 낫습니다.
a = [i for i in range(1,1001)]
● * 연산자를 사용하는 것이 다른 방법보다 빠르므로 목록을 초기화하는 방법입니다
추천 관련 비디오 튜토리얼: "Python Tutorial"
위 내용이 이 글의 전체 내용입니다. 도움을 배우는 모든 사람에게 도움이 될 수 있습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 Python에서 목록을 초기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!