블로그 이미지
김고노

calendar

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Notice

2018. 3. 16. 15:14 파이썬 복습

리스트 자료형이란?



'모음' 이다



리스트명 = [요소1,요소2,요소3, ···]



>>>a=[]      ← 비어있는 리스트

>>>b=[1,2,3] ← 숫자요소 리스트

>>>c=['Life', 'is', 'too', 'short'] ←문자요소 리스트

>>>d=[1,2,'Life','is'] ←숫자+문자 혼합 리스트

>>>e=[1,2,['Life', 'is']] ←리스트 자체가 요소로 들어간 리스트



리스트의 인덱싱



>>>a=[1,2,3]

>>>a[0]

1


파이썬은 숫자를 0부터 센다


>>>a[0] +a[2]

4




>>>a = [1,2,3, ['a', 'b', 'c']]


>>>a[0]

1


>>>a[-1]

['a', 'b', 'c']


>>>a[3]

['a', 'b', 'c']




여기서 리스트 a에 포함된  ['a', 'b', 'c']라는 리스트에서

'a'라는 값을 인덱싱해 뽑으려고 한다면



>>>a[-1][0]

'a'



※삼중리스트에서 인덱싱하려면 3번해야함!



리스트의 슬라이싱



>>>a= [1, 2, 3, 4, 5]

>>>a[0:2]

[1, 2]



중첩된 리스트의 슬라이싱



>>>a= [1, 2, 3,  ['a', 'b', 'c'], 4, 5]

>>>a[2:5]

[3,  ['a', 'b', 'c'], 4]


>>>a[3][:2]

 ['a', 'b']




리스트의 연산자 


1. 리스트 더하기


>>>a= [1, 2, 3]

>>>b= [4, 5, 6]

>>>a+b

[1, 2, 3, 4, 5, 6]




2.리스트 반복하기


>>>a=[1, 2, 3]

>>>a*3

[1, 2, 3, 1, 2, 3, 1, 2, 3]



※초보자가 범하기 쉬운 리스트 연산오류


>>>a= [1, 2, 3]

>>>a[2] + "hi"  (x)


정수와 문자열은 더할수가 없다.


굳이 3hi 를 만들고 싶다면 숫자3을 문자 3으로 바꿔야 한다.


>>>str(a[2]) + "hi'

3hi


str()은 정수나 실수를 문자열 형태로 바꿔주는 내장함수.




리스트의 수정, 변경과 삭제



1. 리스트에서 하나의 값 수정하기


>>>a = [1, 2, 3]

>>>a[2] = 4

>>>a

[1, 2, 4]



2. 리스트에서 연속된 범위의 값 수정하기


위에것 이어서 보면


>>>a[1:2]

[2]

>>>a[1:2] =  ['a', 'b', 'c']

>>>a

[1,  'a', 'b', 'c', 4]



★리스트를 수정할 때 주의할 점


>>>a = [1, 2, 4] 에서 a[1] 과 a[1:2] 는 수정할때 같아보이지만 다르다.


a[1] 의 결과값은 [1,  ['a', 'b', 'c'], 4] 이기때문이다.




3. []사용해 리스트 요소 삭제하기


위에것 이어서 보면


>>>a[1:3] = []

>>>a

[1, 'c', 4]



4. del 함수 사용해 리스트 요소 삭제하기


>>>a

[1, 'c', 4]

>>>del a[1]

>>>a

[1, 4]


del a[x]는 x번재 요소값을 삭제한다.

del a[x:y]는 x번째부터 y번째 요소사이의 값을 삭제한다.




리스트 관련 함수들


문자열과 마찬가지로 변수명 뒤에 '.'를 붙여서 사용



★리스트에 요소 추가(append)


>>>a = [1, 2, 3]

>>>a.append(4)

>>>a

[1, 2, 3, 4]


>>>a.append([5, 6])

>>>a

[1, 2, 3, 4,[5, 6]]


append(x)는 리스트의 맨 마지막에 x를 추가시키는 함수



★리스트 정렬(sort)


>>>a = [1, 4, 3, 2]

>>>a.sort()

>>>a

[1, 2, 3, 4]


☆알파벳도 가능



a.sort( reverse = True)   → 내림차순 정렬

sorted(a)  → a값은 안바꾸고 출력물만 보고싶을때

sorted(a, reverse=True) → a값은 안바꾸고 내림차순된 출력물만 보고싶을때





★리스트 뒤집기(reverse)


>>>a = ['a', 'c', 'b']

>>>a.reverse()

>>>a

['b', 'c', 'a']



★위치 반환(index)


>>>a = [1, 2, 3]

>>>a.index(3)    ←3은 리스트 a의 세 번째 (a[2])요소

2                    

>>>a.index(1)    ←1은 리스트 a의 첫 번째 (a[0])요소

0


index(x) 함수는 리스트에 x라는 값이 있으면 x의 위치값을 리턴



★리스트에 요소 삽입(insert)


>>>a= [1, 2, 3]

>>>a.insert(2,5)

[1, 2, 5, 3]


insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수



★리스트 요소 제거(remove)


>>>a = [1, 2, 3, 1, 2, 3]

>>>a.remove(3)

[1, 2, 1, 2, 3]


remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수


remove(3)을 한 번 더 실행하면 다시 3이 삭제된다.



★리스트 요소 끄집어내기(pop)


>>>a= [1, 2, 3]

>>>a.pop()

3

>>>a

[1, 2]


pop()은 리스트의 맨 마지막 요소를 돌려 주고 그 요소는 삭제하는 함수


>>>a= [1, 2, 3]

>>>a.pop(1)

2

>>>a

[1, 3]


pop(x)는 리스트의 x번째 요소를 돌려 주고 그 요소는 삭제하는 함수



★리스트에 포함된 요소 x의 개수세기(count)


>>>a= [1, 2, 3, 1]

>>>a.count(1)

2


count(x)는 리스트 내에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수



★리스트 확장(extend)


>>>a = [1, 2, 3]

>>>a.extend([4,5])

>>>a

[1, 2, 3, 4, 5]

>>>b = [6, 7]

>>>a.extend(b)

>>>a

[1, 2, 3, 4, 5, 6, 7]


extend(x) 에서 x에는 리스트만 올수 있고 원래의 리스트에 x 리스트를 더하게됨





'파이썬 복습' 카테고리의 다른 글

3/19 딕셔너리 자료형  (0) 2018.03.19
3/18 튜플 자료형  (0) 2018.03.18
3/15 고급 문자열 포매팅  (0) 2018.03.15
3/15 문자열 포매팅  (0) 2018.03.15
3/15 문자열 인덱싱과 슬라이싱  (0) 2018.03.15
posted by 김고노