파이썬 리스트 요소 한 줄에 한번에 출력하기, 원하는 값 위치 출력하기

미쯔·2024년 2월 27일
0

💻Programming

목록 보기
1/6

백준 문제를 풀다 1차원 리스트 요소들을 리스트 없이 아래와 같이 한번에 출력하고 싶을 때가 있다.

arr = [1, 2, 3, 4]
1 2 3 4

보통 for문을 사용해서 많이 출력하지만 더 간단하게 출력하는 방법이 있다

리스트 요소 한 번에 출력하기

print(*arr)

예시를 들어보자.

arr = [1, 2, 3, 4]
print(arr)
[1,2,3,4]

보통 print(arr)를 하면 위와 같이 대괄호까지 한번에 나온다.
그러나 *를 붙여주면 리스트 요소를 대괄호 없이도 한 번에 출력할 수 있다. 그 이유는 Asterisk(*)를 사용하면 리스트 압축 해체를 할 수 있기 때문이다.

원하는 값의 위치 출력하기

다음으론 리스트에서 찾고자 하는 인덱스 위치를 출력해주는 함수 index가 있다.

list.index(i)
list : 리스트 이름
i : 찾고자 하는 값

예시를 들어보자.

arr = [10, 20, 30, 40]
print(arr.index(20))
1

arr 리스트에 있는 20의 인덱스를 출력하라는 코드였고 1을 출력했다.

그렇다면 찾고자 하는 값이 리스트 안에 2개 이상 존재한다면 리스트를 어떻게 출력할까?

arr = [10, 20, 30, 40, 20]
print(arr.index(20))
1

위치를 다 출력해주는 것이 아닌 제일 첫번째 값을 출력해준다. 즉, 최소 인덱스를 출력해준다.

그렇다면 찾고자 하는 값이 없다면 어떻게 출력할까

arr = [10, 20, 30, 40]
print(arr.index(50))
ValueError: 50 is not in list

Error를 출력한다.

문자열에서도 마찬가지로 작동한다.

S = "Programming"
print(S.index('r'))
1

S라는 문자열에서 r의 위치를 출력하고 싶었고 1이 나왔다.

이 때, 특정 범위 인덱스에서 특정 문자를 찾을 수도 있다.

S = "Programming"
print(S.index('a',3,8))
5

특정 범위에 없다면 마찬가지로 ValueError를 출력한다.

S = "Programming"
print(S.index('p',3,8))
ValueError: substring not found

0개의 댓글