본문 바로가기
Python

파이썬 기초, 리스트 배우기!

by Davidev 2022. 7. 30.
반응형

리스트에서 사용하는 함수 및 사용방법

 

list = [a, b, c] / a,b,c 값이 들어있는 리스트가 있다고 할 때.

 

print(list.index("리스트 내 위치를 찾고자 하는 값 입력"))

list.append("추가할 값 입력")

list.insert(원하는 위치, "추가할 값 입력")

list.pop() : 리스트의 제일 끝에 있는 값을 선택해 지움

list.count("개수를 세고 싶은 값 입력") 

list.sort() : 차례대로 정렬해준다.

list.reverse() : 리스트의 위치 순서를 뒤집는다.

list.clear() : 리스트 초기화. 빈 리스트를 만들어버린다. []

list.extend(합체할 리스트 이름 : 합체할 리스트가 뒤에 위치하게 됨)

 

 

리스트를 배우기 전에는 변수를 하나씩 만들어 값을 입력해 넣었다.

예) 

account1 = 1

account2 = 2

account3 = 3

 

 

리스트는 집합의 개념으로 사용함으로써 비슷한 것을 하나로 묶을 수 있다.

예)

account = [1, 2, 3]

 

 

리스트를 활용하는 예제

지하철 1칸마다 연예인이 타고 있다. "박명수"는 몇 번째 칸에 타고 있는가?

 

subway = ["유재석", "조세호", "박명수"]

print(subway.index("박명수"))

 

출력 결과값은 2 이다.

 

index는 색인 기능으로 몇 번째 있는지 찾아주는 기능의 함수라서 2번 째에 있다고 찾아주었다.

(우리는 1,2,3으로 숫자를 세지만, 컴퓨터는 0, 1, 2, 3, 4 ... 순서로 숫자를 세므로 2번째이다.)

 

하하가 다음 칸에 탔을 경우

subway.append("하하") 를 입력하고 print(subway)를 실행하면

결과값은 아래처럼 나오게 된다.(append는 항목을 추가해주는 함수이다.)

['유재석', '조세호', '박명수', '하하']

 

위 리스트에서 정형돈을 유재석 - 조세호 사이에 넣으려면

subway.insert(1, "정형돈") 을 입력하고 print(subway)를 실행하면

결과값은 아래처럼 나오게 된다.(insert 내가 원하는 위치에 항목을 추가해주는 함수이다.)

['유재석', '정형돈', '조세호', '박명수', '하하']

 

한명씩 뒤에서부터 내린다고 하면

print(subway.pop()) 를 입력하고 print(subway)를 실행해본다.

결과 값은 아래와 같이 빠지는 사람의 이름이 출력되고(항상 리스트의 맨 뒤의 값) 남은 리스트가 출력된다.

하하

['유재석', '정형돈', '조세호', '박명수']

 

print(subway.pop())

print(subway)

print(subway.pop())

print(subway)

 

같은 명령을 2번 더 실행하면 조세호까지 빠지면서 2명만 남게된다.

 

조세호
['유재석', '정형돈']

 

 

리스트에서 중복된 값의 개수를 세어보려면,

아래코드 처럼 count를 함수를 이용해 출력하면 된다.

print(subway.count("유재석"))

리스트 안에 "유재석"이라는 이름이 몇 명인지 보여준다.

 

 

아래와 같은 리스트에서 정렬을 하고 싶다면,

num = [5, 2, 4, 3, 1]

숫자를 순서대로 정렬해주는 코드를 써보자.

num.sort()

print(num)

마음이 편해지는 [1, 2, 3, 4, 5] 가 출력되는 것을 볼 수 있다.

 

 

리스트에서 순서를 거꾸로(정 반대로) 바꾸고 싶다면,

아래의 함수를 사용한다.

num.reverse()

print(num)

결과값은 [5, 4, 3, 2, 1]

 

 

리스트를 아예 초기화 (리스트 내용 모두 지우기) 하고 싶다면,

아래의 함수를 사용한다.

num.clear()

print(num)

결과값은 빈 리스트 []

 

 

*리스트는 다양한 자료형과 함께 사용할 수 있다!

ex)

num = [5, 4, 3, 2, 1]

mix = ["조세호", 20, True]

 

*다음과 같이 extend를 사용하면 리스트 합치기도 가능하다!

 

num.extend(mix)

print(num)

 

[5, 4, 3, 2, 1, '조세호', 20, True]

 


 

리스트의 값을 출력할 때 수정이 필요하거나 변경이 필요한 경우,

아래와 같이 수정 or 변경 할 수 있다.

ex) 학생번호가 1,2,3,4,5 로 시작되었는데, 올해부터는 101, 102, 103, 104, 105 순서로 시작된다고 할 떄

#기존 1,2,3,4,5 순서의 학생코드
students = [1,2,3,4,5]


#새롭게 변경되는 101, 102, 103 순서의 코드
students = [i+100 for i in students]
print(students)

기존 리스트는 [1, 2, 3, 4, 5]로 출력 되었지만
새롭게 변경한 코드를 실행하면 [101, 102, 103, 104, 105] 의 리스트가 나온다.

 

ex) 영문자로 된 학생의 이름. 문자열의 길이로 리스트를 수정한다고 할 때

<기존 영문자로 된 학생 리스트>
students = ["Iron man", "Thor", "I am groot"]

<문자열의 길이로 변경하는 리스트>
students = [len(i) for i in students]
print(students)

출력 결과 값은 [8, 4, 10]

 

ex) 영문자로 된 학생의 이름. 대문자로 리스트를 출력한다고 할 때

<기존 코드>
students = ["Iron man", "Thor", "I am groot"]

<모두 대문자로 바꿔 출력하고자 할 떄>
students = [i.upper() for i in students]
print(students)

출력 결과 값은 ['IRON MAN', 'THOR', 'I AM GROOT']

반응형

댓글