1. 리스트 추가, 수정, 삭제
1-1 추가
추가는 append( )를 사용해서 추가한다.
append( )는 사용시 항상 해당 리스트의 맨 뒤에 추가가 된다.
eng_scores = [90, 60, 70, 100, 85]
#추가 -> append() 사용 (맨 뒤에 추가)
eng_scores.append(99)
print("추가 - ", eng_scores)
'''
추가 - [90, 60, 70, 100, 85, 99]
'''
1-2 수정
수정은 간단하다. 해당 리스트의 인덱스 번호를 이용하여 바꾸고 싶은 위치의 값을 다시 설정해주면 된다.
#수정 -> index 사용
eng_scores[-1] = 38
print("수정 - ", eng_scores)
'''
수정 - [90, 60, 70, 100, 85, 38]
'''
위의 추가된 eng_scores는 [90, 60, 70, 100, 85, 99] 로 구성되어있고
eng_scores[-1]로 마지막 인덱스를 호출하여 99 -> 38 로 수정하였다.
1-3 삭제
삭제는 del 과 삭제하고자 하는 인덱스를 사용하여 삭제한다.
#삭제 -> del과 index 사용
del eng_scores[-1]
print("삭제 - ", eng_scores)
'''
삭제 - [90, 60, 70, 100, 85]
'''
del eng_scores[-1]을 선언하여 가장 마지막 인덱스인 38이 삭제된 것을 볼 수 있다.
2. 리스트 병합
2개 이상의 리스트를 추가하는 방법은 '+' 와 '*' 연산자를 사용한다.
a = [0, 1, 2, 3, 4]
b = [5, 6, 7, 8, 9]
#병합 -> + 사용
print(a+b)
'''
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'''
#리스트 * 숫자 가능
print(a*2)
'''
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
'''
#리스트 튜플은 병합 가능, 집합은 병합 불가능
각 리스트를 합쳐 하나의 리스트로 표현하고자 할때는 '+'를 사용한다.
a+b 를 하여 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 가 출력되는 것을 알 수 있다.
'*' 연산자를 사용 할 경우 사용하고자 하는 리스트와 그 뒤에 반복횟수를 정수로 적어주면 된다.
a*2를 하여 [0, 1, 2, 3, 4, 0, 1, 2, 3, 4] 로 a가 2번 연달아서 출력되는것을 볼 수 있다.
만약 a*3을 한다면 [0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4] 로 출력된다.
주의할점이 리스트와 튜플은 위의 방법으로 병합이 가능하나, 집합(set)은 병합이 불가능하다.
3. 리스트 인덱스 검색
다른 언어들 같은 경우에는 배열에서 해당 값이 몇 번째 인덱스에 위치하고있는지 찾기위해 반복문을 돌리거나 하였으나 파이썬에는 해당 값이 몇 번째 인덱스에 위치하고있는지 리턴시켜주는 기능이 있다.
index( )를 사용하여 괄호 안에 찾고자 하는 값을 적으면 해당 값의 위치를 리턴해준다.
animals = ['elephant', 'hippo', 'lion', 'tiger', 'alligator']
ani_name = input('케이지를 알고 싶은 동물의 이름을 입력해주세요 = ')
ani_index = animals.index(ani_name)
#index()를 쓰면 해당 값에 해당하는 index 번호 리턴
print(f'{ani_name} 동물의 케이지는 {ani_index}번 위치에 있습니다.')
'''
케이지를 알고 싶은 동물의 이름을 입력해주세요 = lion
lion 동물의 케이지는 2번 위치에 있습니다.
'''
위의 코드는 animals 라는 리스트에서 ani_name을 input( )으로 받고
ani_index = animals.index(ani_name)을 사용하여
해당 ani_name이 animals에서 몇 번째 인덱스에 위치해 있는지 리턴해준다.
4. 리스트 중복 제거
우리는 중복으로 값을 가질 수 없는 기능을 알고있다. 바로 집합(set)이다.
lst = ['dog', 'hippo', 'elephant', 'lion', 'alligator', 'hippo', 'lion']
#set() 을 활용
tmp = list(set(lst))
print(tmp)
'''
['dog', 'lion', 'hippo', 'alligator', 'elephant']
집합은 요소가 순서없이 정렬된다.
'''
lst로 중복된 값이 포함된 리스트를 선언해 주었다.
위의 리스트에선 hippo, lion이 중복 요소이다.
이를 set(lst) 하여 리스트 -> 집합으로 변경 시켜주었고
이를 다시 list(set(lst))로 집합 -> 리스트로 변경하였다.
그리고 print(tmp)로 출력한 결과 lst를 선언할때와 순서가 다른것을 알 수 있는데
set( )을 사용하면 실행할 때마다 순서가 무작위로 정렬되기 때문이다.
* 주의할점
집합은 인덱스를 이용한 출력시 에러가 발생한다.
#에러나는 상황
a = ['dog', 'hippo', 'elephant', 'lion', 'tiger', 'alligator', 'hippo', 'lion']
print(a[3]) #lion 출력
b = set(a)
#print(b[3]) # 에러 발생
마지막줄의 주석 처리된 print(b[3])을 실행 할 경우 에러가 발생한다.
'Language > Python' 카테고리의 다른 글
[Python] 리스트 comprehension (2)/ 예제로 공부하는 Python 100 문제풀이 (0) | 2022.02.17 |
---|---|
[Python] 리스트 comprehension (1)/ 예제로 공부하는 Python 100 문제풀이 (0) | 2022.02.17 |
[Python] 리스트 (1) / 예제로 공부하는 Python 100 문제풀이 (0) | 2022.01.21 |
[Python] for 반복문 / 예제로 공부하는 Python 100 문제풀이 (0) | 2022.01.14 |
[Python] 연산자, in(멤버쉽) 연산자, bool / 예제로 공부하는 Python 100 문제풀이 (0) | 2022.01.10 |
댓글