from random import *
from timeit import *
size = 50
start = default_timer()
value_list = list()
cnt = 0
for cnt in range(size):
md = randint(1, size)
while value_list.count(md) >= 1:
md = randint(1, size)
cnt += 1
value_list.append(md)
print(f"시도 횟수 : {cnt}")
print(f"value_list {value_list}")
seven_idx = value_list.index(7)
print(f"7 위치 : {seven_idx + 1}")
end = default_timer()
print(f"작업 시간 : {end - start}")

start = default_timer()
no_list = list(range(1, size + 1)) # 1부터 순차적으로 저장된 리스트
value_list2 = list()
for cnt in range(size):
idx = randrange(len(no_list))
select = no_list.pop(idx)
value_list2.append(select)
print(f"value_list2 {value_list2}")
print()
seven_idx2 = value_list2.index(7)
print(f"7 위치 : {seven_idx2 + 1}")
end = default_timer()
print(f"작업 시간 : {end - start}")

- 코드 1은 size 값이 커질수록 훨씬 더 오랜 시간이 걸림
그에비해 코드 2는 시도 횟수가 한정적이여서 훨씬 좋은 효율을 가짐