코드 1 : 2파이썬에서 두 개의 코드를 실행하는 데 혼란이 있습니까?
%%timeit
students = [['Zack',38],['Harry', 37.21], ['Berry', 37.21], ['Tina', 37.2], ['Akriti', 41], ['Harsh', 39]]
second_highest = sorted(list(set([x[1] for x in students])))[1]
([a for a,b in sorted(students) if b == second_highest])
코드 :
%%timeit
students = [['Zack',38],['Harry', 37.21], ['Berry', 37.21], ['Tina', 37.2], ['Akriti', 41], ['Harsh', 39]]
s = sorted(set([x[1] for x in students]))
for name in sorted(x[0] for x in students if x[1] == s[1]):
name
가 지금은 두 프로그램의 실행에 대한 혼란 스러워요, CODE2 방법은 중첩의 사용에도 불구하고, 코드 코드 1보다 빠르다 코드 2의 for 루프. 아래 이미지는 Jupyter 노트북에서 가져온 것으로, 100000 회 반복 코드의 평균 시간을 보여줍니다. 차이는 매우 작지만 중첩 for-loop가 단일 for 루프보다 빨리 작동 할 수 있기 때문에 혼란 스럽습니다.
I 출력을 인쇄했는데, 그래서 코드
각 루프의 마지막 줄은 무엇입니까? 그것은 실제로 아무 것도하지 않습니다. differnec은 두 번째 줄의'list' 함수에 대한 여분의 호출에서 발생하는 것입니다. –
출력을 인쇄 할 예정 이었으므로 마지막 줄의 코드 앞에 인쇄 할 수 있습니다. – Priyansh