Python_리스트

서창민·2023년 1월 17일
0

Python_함수

목록 보기
8/8
post-thumbnail

Python_리스트

오늘은 리스트 함수에 대해서 알아볼 것이다.
기본적으로 문자열 처리함수 에서 리스트를 추가하여 코드륵 작성할 수 있다.
리스트는 순서를 가지는 객체의 집합을 표현한다.

예시의 코드를 작성해 보자.

리스트

지하철 칸별로 10명, 20명, 30명이 있는 코드를 작성하라고 한다면 일반적으로 변수를 3개로 설정한 아래와 같은 코드를 작성할 것이다.

subway1 = 10
subway2 = 20
subway3 = 30
print(subway1, subway2, subway3)
>>
10 20 30

하지만 변수를 각자 선정한다는 것에서 효율성이 많이 떨어진다.
이를 보완할 수 있는것이 리스트이다.

# 하나로 묶음
subway = [10, 20, 30]
print(subway)
>>
[10, 20, 30]

위와 같이 변수에 값을 대괄호로 하나로 묶음으로 하나의 출력으로 동일한 값을 묶음 표시로 출력 할 수 있다.

리스트_예시

이를 사용한 예시로 무한도전 멤버들이 타는 지하철 순서 코드를 확인해 보자.

# 지하철에 유재석, 조세호, 박명수가 타고있다.
subway = ["유재석", "조세호", "박명수"]
print(subway)
>>
['유재석', '조세호', '박명수'] 


# 박명수씨가 몇 번째 칸에 타고 있는가?
print(subway.index("박명수"))
>>
2


# 하하씨가 다음 정류장에서 다음 칸에 탐
subway.append("하하")
print(subway)
>>
['유재석', '조세호', '박명수', '하하']


# 정형돈씨를 유재석 / 조세호 사이에 추가
subway.insert(1, "정형돈")
print(subway)
>>
['유재석', '정형돈', '조세호', '박명수', '하하']

# 지하철에 있는 사람을 한 명씩 뒤에서 꺼내는 함수
print(subway.pop())
print(subway)
>>
하하
['유재석', '정형돈', '조세호', '박명수']

print(subway.pop())
print(subway)
>>
박명수
['유재석', '정형돈', '조세호'] 

# 같은 이름의 사람이 몇 명 있는지 확인
subway.append("유재석")
print(subway)
print(subway.count("유재석"))
>>
['유재석', '정형돈', '조세호', '유재석']
2

예시와 같이 지하철을 이용한 무한도전 멤버들의 순서와 추가 및 삭제, 카운트 동작 또한 가능하게 할 수 있다.

이외에도

# 정렬
num_list = [5, 2, 3, 4, 1]
num_list.sort()
print(num_list)
>>
[1, 2, 3, 4, 5]

# 순서 뒤집기
num_list.reverse()
print(num_list)
>>
[5, 4, 3, 2, 1]


# 모두 지우기
num_list.clear()
print(num_list)
>>
[]


# 다양한 자료형과 활용
mix_list = ["조세호", 20, True]
print(mix_list)
>>
[5, 3, 2, 4, 1,'조세호', 20, True]


# 리스트의 확장(리스트1 + 리스트2)
num_list = [5, 3, 2, 4, 1]
mix_list = ["조세호", 20, True]
num_list.extend(mix_list)
print(num_list)
>>
[5, 3, 2, 4, 1, '조세호', 20, True]

# 리스트의 확장(리스트2 + 리스트1)
num_list = [5, 3, 2, 4, 1]
mix_list = ["조세호", 20, True]
mix_list.extend(num_list)
print(mix_list)
>>
['조세호', 20, True, 5, 3, 2, 4, 1]

정렬, 다양한 자료형 사용, 리스트의 확장을 이용하여 더 다양한 리스트 코드로 작성이 가능하다.

리스트를 사용함으로 코드의 길이축소와 시인성을 확보 할 수 있을 것 같다.

더욱 깔끔한 코드를 작성하도록 노력하자.

profile
Back-end Developer Preparation Students

0개의 댓글