본문 바로가기
Python

[파이썬] 리스트: append, insert, remove, pop, index, in, sorted

by eyoo 2022. 4. 19.

파이썬 기본자료 구성

(변수 하나로 여러개의 데이터를 저장)

 

 

리스트는 여러개의 변환가능한 데이터를 저장하기위해 사용한다.

#순서가 있고 인덱스가 있으며 값을 바꿀수 있다. (mutable)

#문자열을 split 함수를 통해 리스트로 만들수도 있다.

 

리스트는 대괄호를 사용한다 '[ ]'

 

숫자, 영문자, 한글 , 리스트 등을 담을수 있다.

 

in: [2,'Mitch','홍길동',3.55555, [1,2,3]]

out: 

[2, 'Mitch', '홍길동', 3.55555, [1, 2, 3]]
 
 

변수에 리스트를 저장해서 인덱스(혹은 offset)로 값을 얻을수 있다.

 

1. 변수 설정

in: week = ['Mon','Tue','Wed','Thu','Fri']

in: week

out: 

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

 

2. 리스트 안의 값 불러오기

in: week[0]

out: 

'Mon'

 

 

리스트 안에있는 리스트의 값을 얻을 수 있다. 

 

리스트 속 리스트 [3,6,7] 안에 있는 6을 얻으려고 할때:

in: my_list = ['Mitch',[3,6,7],['yellow',5,6]]

in: my_list[1][1]

out: 

6

 

 

offset 으로, 리스트 안에 있는 값을 바꾸기

 

월요일을 일요일로 바꾸기

in: week[0] = 'Sun'

in: week

out: 

['Sun', 'Tue', 'Wed', 'Thu', 'Fri']

 

 

append 와 insert 함수를 통해 리스트에 항목을 추가 할수있다

 

1.  append 함수를 사용해 리스트의 맨뒤에 데이터를 추가하는 방법

 

in: week.append('Sat')

in: week

out: 

['Sun', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

 

 
 

2.  insert 함수를 사용해 특정 위치에 데이터를 추가하는 방법

 

일요일 뒤에 월요일을 넣으려고 할때:

in: week.insert(1,'Mon')

in: week

out: 

['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

 

 

리스트 항목을 삭제하는 방법은 3가지가 있다:

 

1. 파이썬 키워드인 del 로 삭제

in: del week[1]

in: week

out: 

['Sun', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
 
2. remove 함수로 삭제
in: week.remove('Thu')
in: week
out: 
['Sun', 'Tue', 'Wed', 'Fri', 'Sat']

 

※ remove함수 안에 있는 문자의 대소문자 혹은 철자에 주의해야 한다.

 

3. pop함수로 삭제

in: week.pop()

out:

'Sat'

in: week

out:

['Sun', 'Tue', 'Wed', 'Fri']

 

# pop함수는 화면에 지워진 항목을 띄워준다.

 

 

 

'+'연산을 이용해 두개의 리스트를 합칠수 있다.

 

in: fruits = ['사과','배']

in: others = ['망고','코코넛','오렌지','레몬']

in: fruits=fruits + others

out:

['사과', '배', '망고', '코코넛', '오렌지', '레몬']

 

 

index함수를 이용하여 리스트속 항목의 위치(offset)를 찾을수 있다.

 

in: fruits.index('코코넛')

out:

3

 

 

리스트 안에, 원하는 값이 있는지 확인하기

 

in: '망고' in fruits

out:

True

#원하는 값이 없는 경우, False가 나온다.

 

 

리스트에 들어있는 값들 중, 원하는 값이 몇개가 있는지 갯수 세기

 

in: fruits.count('망고')

out:

1

#원하는값이 없는 경우 0으로 나온다

 

 

len 함수를 통해 리스트 안의 항목의 갯수를 샐수 있다.

 

in: len(fruits)

out:

6

 

 

항목들을 정렬하기

  • 원래의 리스트 자체는 건들지 않고, 새롭게 정렬한 리스트를 반환하는 경우 : sorted()
  • 원래의 리스트 자체를 정렬해서 변경하는 경우 : sort()

 

sorted 함수를 사용하여 오름차순으로 정렬:

 

in: sorted(fruits)

out:

['레몬', '망고', '배', '사과', '오렌지', '코코넛']

# sorted 함수를 이용해 내림차순 정렬을 해야할 경우 sorted(fruits)에서 sorted(fruits, reverse = True) 로 바꿔주면 된다.

 

 

리스트의 sort 함수를 사용하여 내림차순으로 정렬:

 

in: fruits.sort(reverse = True)

out:

['코코넛', '오렌지', '사과', '배', '망고', '레몬']

# sort 함수에서 오름차순으로 정렬 해야할 경우 fruits.sort(reverse = True)에서 fruits.sort()로 바꿔주면 된다.

 

 

join 함수를 사용하여 리스트를 정하려는 문자로 분리해 문자열로 만들수 있다.

 

in: interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']

in: print("/".join(interest))

out:

삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우

# split 함수로 문자열을 다시 리스트로 만들수 있다.  interest.split('/')

 

 

 

 

 

댓글