list 자료형은 리스트명=[요소, 요소, 요소]로 되어 있습니다.
list자료형에는 숫자, 문자열이 들어갈 수 있습니다.
a = [1,2,3]
b = ['a','b','c']
c = [1,2,3,['a','b','c']]
리스트는 0부터 시작하므로
>>> a[0]
1
>>> a[1]
2
이렇게 출력이 되고
c처럼 되어있는 구조같은 경우는 c[3]을 선택하면 ['a' , 'b' , 'c']가 선택이 됩니다.
c[3]안에서 b를 찾고 싶다면
>>> c[3][1]
'b'
c[3]안에서 0부터 시작해 1번째로 나오는 b가 선택이 됩니다.
리스트 슬라이싱
리스트 슬라이싱은 리스트를 나누어 출력하게 됩니다. 예를 들어 python=["It","is","very","funny","."]로 친다면
very부터 .까지만 출력을 하고싶다. 하면
>>> python[2:]
['very','funny','.']
이렇게하면 나뉘어서 출력이 되고 뒤에 It is를 출력하고싶다면
>>> python[:2]
['It','is']
이렇게 하면 출력이 되지만 2의 자리를 차지하고 있는 very 자신은 출력되지 않습니다.
여기서 궁금한 점이 생긴다면 is부터 funny까지만 출력하고 싶다고 한다면 출력하고싶은 부분 : 끝내고싶은 부분으로
나누면됩니다.
>>> python[1:4]
['is','very','funny']
이렇게 하면 원하는 부분만 나눠서 따로 변수를 저장하거나 출력할 수 있습니다.
연산자
연산자는 더하기, 곱하기, 길이 구하기 정도 있습니다.
우선 더하기는 두 개의 리스트를 합쳐줍니다. 코드는 아래와 같습니다.
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> c = a + b
>>> c
[1,2,3,4,5,6]
곱하기는 리스트를 계속해서 반복해줍니다. 코드는 아래와 같습니다.
>>> c=["a","b","c"]
>>> c * 3
['a','b','c','a','b','c','a','b','c']
마지막은 문자의 길이를 구합니다.
문자의 길이는 len()을 사용하여 길이를 구합니다. 코드는 아래와 같습니다.
>>> d=[1,3,5,2,8,1,5]
>>> len(d)
7
리스트 수정과 삭제
먼저 리스트 수정부터 하자면 리스트 수정은 자신이 고치고싶은 부분을 고칠 수 있습니다.
a안에는 1,2,3,5가 있습니다. 여기에서 5를 4로 바꾸고 싶습니다. 그렇다면 코드는 아래와 같습니다.
>>> a=[1,2,3,5]
>>> a[3] = 4
>>> a
[1,2,3,4]
첫번째는 요소는 무조건 0으로 시작하므로 3번째에 있는 5를 4로 바꾸어 출력한 것입니다.
리스트 삭제입니다.
이번엔 b안에 "G","o","p","o","d"가 있는데 p를 지우고 싶습니다. 그렇다면 코드는 아래와 같습니다.
>>> b=["G","o","p","o","d"]
>>> del b[2]
>>> b
['G','o','o','d']
위에서도 말했듯이 0부터 세기때문에 2번째자리의 p를 삭제합니다.
여기서 리스트 전체를 지우고 싶다면
>>> b=["G","o","p","o","d"]
>>> del b
이렇게 하면 리스트 b가 전체 지워집니다.
마지막으로 위에서 한 슬라이싱을 이용하여 G,o뒤로부터 삭제하고 싶다고 한다면 코드는 아래와 같습니다.
>>> b=["G","o","p","o","d"]
>>> del b[2:]
>>> b
['G','o']
함수
리스트와 관련된 함수를 보자면 append, sort, reverse, remove등이 있습니다.
append()
append()는 리스트 요소를 추가시킵니다. 1,2,3,5가 있는데 4를 넣고싶다고 생각을 합니다.
그렇다고 하면 코드는 아래와 같습니다.
>>> a=[1,2,3,5]
>>> a.append(4) #4가 추가됨
>>> a
[1,2,3,5,4]
이렇게 출력됩니다. 하지만 여기서 4를 5앞에 두고 싶습니다. 그렇다면 insert라는 함수를 추가로 사용해봅시다.
insert는 원하는 자리에 원하는 요소를 집어넣을 수 있습니다. 코드는 아래와 같습니다.
>>> a=[1,2,3,5]
>>> a.insert(3,4) 3 번째 자리에 4가 들어감
>>> a
[1,2,3,4,5]
pop()
집어넣는 함수가 있다면 꺼내는 함수도 있어야 하겠죠? pop()은 삭제하는 것과 비슷합니다. p라는 리스트에 4,5,6,7,7,8,9
의 요소가 있습니다. 여기서 7를 꺼내고 싶습니다. 코드는 아래와 같습니다.
>>> p=[4,5,6,7,7,8,9]
>>> p.pop(3) #3번째에 있는 것
7
>>> p
[4,5,6,7,8,9]
pop()은 몇번째에서 빼낸 것이 무엇인지 출력이 되고 다시 리스트p를 출력을 하면 빼내진 것을 제외하고 출력이 됩니다.
sort(), reverse()
정말 불편한 상황이 있습니다. 정리가 되어지지 않은 것이죠. a라는 리스트에 1부터9까지 있지만 그 요소들은 뒤죽박죽
섞여있습니다. 이것을 오름차순으로 재배치해주는 함수가 sort()입니다. 코드는 아래와 같습니다.
>>> a=[5,7,4,2,6,9,8,1,3]
>>> a.sort()
>>> a
[1,2,3,4,5,6,7,8,9]
문자열 알파벳도 똑같습니다. 문자열 알파벳은 대문자가 우선적이고 대문자보다는 특수기호가 우선으로 정렬됩니다.
이번에는 뒤죽박죽은 아니지만 요소들이 거꾸로 뒤집혀 있습니다. 9,8,7....1처럼말이죠. 이것을 1,2,3...9로 만들고
싶습니다. 그럴 때 사용하는 함수가 reverse()입니다. reverse()는 리스트안에 있는 요소들을 거꾸로 뒤집어 줍니다.
코드는 아래와 같습니다.
>>> r=[9,8,7,6,5,4,3,2,1]
>>> r.reverse()
>>> r
[1,2,3,4,5,6,7,8,9]
remove()
remove()는 말그대로 삭제입니다. 리스트h에 요소들이 적혀있습니다. 이 중에 지우고 싶은 것을 remove()에 적으면 적은
것은 삭제가 됩니다. 코드는 아래와 같습니다.
>>> h=["캡틴 아메리카", "아이언 맨", "스파이더 맨", "닥터 스트레인지"]
>>> h.remove("아이언 맨")
>>> h
['캡틴 아메리카', '스파이더 맨', '닥터 스트레인지']
만약 1,2,2,5,1에서 1을 삭제하려고 h.remove(1)을 한다면 앞에 있는 것 먼저 사라지게 되어 남는 것은 2,2,5,1이 됩니다.
'Python 카테고리' 카테고리의 다른 글
random 함수 이용 (러시안 룰렛) (0) | 2019.08.22 |
---|---|
텍스트 단어 개수, 단어 빈도 순서(오름차순, 내림차순) 구하기 (0) | 2019.06.21 |
Python 집합(set) 자료형 (0) | 2019.06.19 |
Python 사전(Dictionary) 자료형 (0) | 2019.06.19 |
Python 튜플(Tuple) 자료형 (0) | 2019.06.18 |