2023-03-29 TIL (2)

0v0baek·2023년 3월 29일
0

TIL

목록 보기
17/92

[Python] 리스트 뒤집기

list = [1, 2, 4, 3]

### 정렬하지 않고 리스트를 단순 뒤집기 (1로 하면 그대로 출력됨)
reverse_list = list[::-1]
### 큰 수부터 리스트를 정렬하기
reverse_sort_list = sorted(list, reverse=True)

print(reverse_list)
print(reverse_sort_list)

>>>[3, 4, 2, 1]
[4, 3, 2, 1]

[Python] 비슷한 구문 반복 처리할 때

먼저 클래스를 만들어준다.

# 직업 class 지정
class Police():
	def __init__(self, name):
	    self.name = name
    
class Soldier():
	def __init__(self, name):
	    self.name = name

이 클래스의 인스턴스를 생성하는 과정을 메소드로 만들어서 불러오고 싶었다.

dict의 경우

# 직업 dict
job_dict = {
	'경찰':Police('경찰'),
    '군인':Soldier('군인')
}

while True:
    # 값 입력받기
    job = input('당신의 직업을 입력하세요 (경찰 / 군인): ')

    # dict에서 맞는 직업 인스턴스 뽑아오기
    if job in job_dict:
        player = job_dict[job]
        break
    else:
        print('잘못 입력했어요.')
        continue

if문의 경우

def choice_job(job):
    if job == '경찰':
        Police(job)
    elif job == '군인':
        Soldier(job)
    else:
        print('잘못 입력하셨어요!')

your_job = input('당신의 직업을 입력하세요 (경찰 / 군인): ')

choice_job(your_job)

if elif else의 계속적인 반복이 복잡해질까봐 dict를 써서 작성했는데,
튜터님이 if문이 더 깔끔하고 최선의 방법일때도 있다고 하면서 알려주셨다.

상황에 따라서 dict를 사용할 지, if문을 사용할 지 고민해봐야 할 것 같다.
이번 경우는 직업이 그렇게 많지 않으니 if문을 여러 개 사용해도 가독성 부분에선 크게 문제가 없을 듯 하다.

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글