03 Python Collection - (3) list 예제

처어리·2024년 1월 23일

python

목록 보기
23/36
post-thumbnail

03-1. list 예제


01. 1 ~ 10 까지의 정수가 있는 리스트를 생성하세요

list_1 = list(range(1, 11))
print(list_1)



02. 알파벳 대문자 A ~ Z 까지 있는 리스트를 생성하세요

ch_list = list()
for n in range(26):
    ch_list.append(chr(ord('A') + n ))
print(f"ch_list {ch_list}")



03. 숫자를 입력받고, 입력받은 숫자만큼의 요소를 가진 리스트를 생성하세요

list_capacity = int(input("크기 설정 > "))
print()
data_list = list(range(list_capacity))
print(f"data_list : {data_list}")
print()



04. 튜플 tp 에 들어있는 문자열 중에서 길이가 5 인 것만을 가진 리스트를 생성하세요

tp = ('alpha', 'bravo', 'charlie', 'delta',
     'echo', 'foxtrot', 'golf', 'hotel', 'india')
five_list = []
for n in tp:
    if len(n) == 5:
        five_list.append(n)
print(f"five_list {five_list}")



05. 1 ~ 10 사이의 랜덤값 10개를 리스트에 저장합니다.

  • 중복된 숫자는 들어갈 수 없으며, 숫자 7이 있는곳의 위치를 찾는 코드를 작성하세요

    • 코드 1
    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}")

    • 코드 2
    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는 시도 횟수가 한정적이여서 훨씬 좋은 효율을 가짐

0개의 댓글