이번 포스팅에서는 리스트의 다양한 활용법에 대해 알아봅시다.
리스트가 무엇인지는 지난 포스팅에서 알아보았으니,
궁금하시다면 아래를 참고하시기 바랍니다.
리스트의 다양한 활용법
for 루프문
for 루프에서는 리스트 또는 리스트와 같은 값 안에 있는 각각의 값에 대해
코드를 반복할 수 있습니다.
예를 들면
for i in range(0,5):
print(i)
위의 코드를 실행했을 때 결과는 아래와 같습니다.
range(0,5)를 하게 되면 0에서 5까지 정수를 나열하는데
5는 포함하지 않습니다.
따라서 0부터 4까지가 출력되는 것이지요.
이와 비슷하게 range(0,5) 대신 같은 리스트를 넣어도 결과는 같습니다.
for i in [0, 1, 2, 3, 4]:
print(i)
자주 활용되는 메소드
자주 활용되는 메소드로는
index(), append(), insert(), remove(), sort() 등이 있습니다.
insert()
먼저 index()에 대해 알아보면
리스트 안에 해당 값이 있으면 그 값의 인덱스를 반환하는 메소드입니다.
A = ['apple','banana','orange','peach']
print(A.index('banana'))
위 코드의 실행 결과는 아래와 같습니다.
append(), insert()
append()와 insert()에 대해 알아보자면
리스트에 값을 추가한다는 점에서는 두 메소드가 비슷하지만,
append()는 리스트의 마지막에만 추가할 수 있고,
insert()는 리스트의 어느 인덱스든 끼워넣을 수 있습니다.
예를 들면 이런 식이죠.
A = ['apple','banana','orange','peach']
A.append('melon')
print(A)
결과는 아래와 같습니다.
이번엔 insert() 메소드를 사용해서 melon을 orange뒤에 끼워넣어보죠.
A = ['apple','banana','orange','peach']
A.insert(3,'melon')
print(A)
실행 결과는 아래와 같습니다.
orange의 인덱스가 2이니까 3번 인덱스에 melon을 끼워넣었습니다.
remove()
다음은 remove() 메소드입니다.
이 메소드는 리스트에서 제거할 값을 입력받아 제거하는 메소드입니다.
A = ['apple','banana','orange','peach']
A.remove('banana')
print(A)
결과는 아래와 같습니다.
sort()
마지막으로 sort() 메소드입니다.
이 메소드는 숫자 혹은 문자열의 리스트를 정렬해주는 메소드입니다.
다만, 숫자와 문자열이 함께 들어있는 경우 정렬할 수 없습니다.
A = ['banana','peach','apple','orange']
A.sort()
print(A)
sort() 메소드로 정렬하기 위해 리스트의 순서를 바꿔보았는데요.
실행 결과는 아래와 같습니다.
숫자로 이루어진 리스트의 경우에도 예상한대로 잘 정렬해주죠.
B = [3, 1, 8, 6, 2, 4, 7]
B.sort()
print(B)
리스트 A와 B를 더하여 문자열과 숫자로 이루어진 리스트 C를 만들었습니다.
A = ['banana','peach','apple','orange']
B = [3, 1, 8, 6, 2, 4, 7]
C = A+B
print(C)
이 리스트를 sort()하면 위에서 설명드린대로 오류가 발생합니다.
int와 str 데이터형 간에는 크기 비교가 안된다고 말하고 있는 것 같네요.
마지막으로 sort()로 문자열을 정렬할 때 주의할 점이 있습니다.
sort()로 문자열을 정렬할 때에는 실제 알파벳 순서가 아니라
ASCII 코드 순서로 정렬하기 때문에,
알파벳 대문자가 항상 소문자 앞에 오게 됩니다.
예를 들면 이런 식이죠.
Test = ['a','z','A','Z']
Test.sort()
print(Test)
ASCII 코드 순서에 의해 'Z'가 'a'보다 앞에 정렬되었습니다.
만약 알파벳 순서로 값을 정렬해야한다면
메소드의 key 키워드 매개변수에 str.lower를 추가하면 됩니다.
Test = ['a','z','A','Z']
Test.sort(key=str.lower)
print(Test)
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 문자열 입력 방법 (0) | 2021.06.12 |
---|---|
[Python] 데이터 유형: 사전(Dictionary) (0) | 2021.06.10 |
[Python] 데이터 유형: 리스트(list) (0) | 2021.06.08 |
[Python] 예외처리 (0) | 2021.06.03 |
[Python] 지역변수와 전역변수 (0) | 2021.05.31 |