(파이썬) 문법3( List,Dictionary,Tuple~)
1. 리스트
리스트란 다른 언어에서 배열(array)라고 하는 형태의 데이터타입이다.
*리스트의 생성
대괄호([])는 리스트를 만드는 기호다. 대괄호 안에 데이터를 콤마(,)로 구분해서 나열하면 리스트가 된다.
예) member=['egoing','k8805','sorialgi']
print member[0]
print member[1]
print member[2]
*리스트 반환
def get_members():
return ['egoing','k8805','sorialgi']
*리스트의 사용
리스트의 진가는 반복문과 결합했을 떄 나타난다.
def get_members():
return ['egoing','k8805','sorialgi']
*리스트의 크기
O=[1,2,3,4,5]
print len(O)
*리스트의 조작
1. 추가
리스트의 끝에 아이템을 추가한다.
li=['a','b','c','d','e']
li.append('f')
print li
다음은 복수의 아이템을 추가하는 방법이다.
li=['a','b','c','d','e']
li.extend(['f','g'])
print li
특정 인덱스에 아이템을 추가하는 방법
li=['a','b','c','d','e','f']
li.insert(0,'z')
print li
-->z,a,b,c,d,e,f 가 출력된다.
*제거
li.pop(0) #0번째 인자의 아이템을 제거한다
li.pop() #끝점의 원소를 제거한다
*정렬
li.sort()
역순으로 정렬하고 싶을 때는
li.sort(reverse=True)
<Dictionary 생성>
지금까지 살펴본 리스트는 아이템에 대한 식별자로 숫자를 사용했다.
*Dictionary 생성
예) grades={'egoing':10, 'k8805': 6, 'sorialgi':80}
설명: egoing는key가 되고, 10은 value가 된다. 아래는 해쉬를 만드는 다른 방법이다.
grades={}
grades['egoing']=10
grades['k8805']=6
grades['sorialgi']=80
print grades
다음은 특정한 key값을 가져오는 방법이다. 결과는 80이다.
grades={'egoing':10, 'k8805':6, 'sorialgi':80}
print grades['sorialgi']
다음은 dictionary의 데이터를 기준으로 반복작업을 하는 방법이다.
grades={'egoing':10, 'k8805':6, 'sorialgi':80}
for key in grades:
print ("key:"%s \t value: %s " %(key, grades[key])
<Tuple>
튜플은 리스트와 거의 비슷하지만 한번 만들면 변경하지 못한다. 애플리케이션 전반에 걸쳐서 변경되면 안되는 정보를 표현하기에 좋은 데이터 형식이다.
다음은 튜플을 생성하는 법이다.
tp=('a','b','c','d','e')
print tp[1]
**튜플을 생성하는 가장 쉬운 방법은 쉼표로 구분된 값을 대입하는 것이다.
tup=4,5,6
출력:
(4,5,6)
**괄호를 사용해서 값을 묶어줌으로써 중첩된 튜플을 정의할 수 있다.
예)
nested_cup=(4,5,6),(7,8)
출력: ((4,5,6),(7,8))
**모든 순차자료형이나 이터레이터는 tuple메소드를 통해 튜플로 변환 할 수 있다.
예)
tuple([4,0,2])
-->(4,0,2)
tup=tuple('string')
--->('s', 't', 'r', 'i', 'n', 'g')
** 튜플의 각 원소는 대괄호[] 를 이용해서 다른 순차자료형 처럼 접근 할 수 있다. 색인은 0부터 시작한다.
예) tup[0]
-->'s'
** 튜플에 저장된 객체 자체는 변경이 가능하지만 한번 생성이 되면 각 슬롯에 저장된 객체 를 변경하는 것은 불가능하다.
예)
tup=tuple(['foo', [1,2], True])
tup[2]=False
--->에러 발생
#하지만 다음처럼 사용하면 실행된다.
예) tup[1].append(3)
--->('foo', [1,2,3], True)
**튜플에서 값 분리하기
만일 튜플과 같은 표현의 변수에 튜플을 대입하면 파이썬은 등호(=)오른쪽에 있는 변수에서 값을 분리한다.
예)
tup=(4,5,6)
a, b, c=tup
b
출력:
5
**변수의 이름을 바꿀 때도 유용하게 사용된다.
a,b=b, a
리스트란 다른 언어에서 배열(array)라고 하는 형태의 데이터타입이다.
*리스트의 생성
대괄호([])는 리스트를 만드는 기호다. 대괄호 안에 데이터를 콤마(,)로 구분해서 나열하면 리스트가 된다.
예) member=['egoing','k8805','sorialgi']
print member[0]
print member[1]
print member[2]
*리스트 반환
def get_members():
return ['egoing','k8805','sorialgi']
*리스트의 사용
리스트의 진가는 반복문과 결합했을 떄 나타난다.
def get_members():
return ['egoing','k8805','sorialgi']
members=get_members()
for member in members:
print member.capitalize()
-->>알파벳의 첫글자를 대문자로 만드는 방법은 String.captalize()이다
O=[1,2,3,4,5]
print len(O)
*리스트의 조작
1. 추가
리스트의 끝에 아이템을 추가한다.
li=['a','b','c','d','e']
li.append('f')
print li
다음은 복수의 아이템을 추가하는 방법이다.
li=['a','b','c','d','e']
li.extend(['f','g'])
print li
특정 인덱스에 아이템을 추가하는 방법
li=['a','b','c','d','e','f']
li.insert(0,'z')
print li
-->z,a,b,c,d,e,f 가 출력된다.
*제거
li.pop(0) #0번째 인자의 아이템을 제거한다
li.pop() #끝점의 원소를 제거한다
*정렬
li.sort()
역순으로 정렬하고 싶을 때는
li.sort(reverse=True)
<Dictionary 생성>
지금까지 살펴본 리스트는 아이템에 대한 식별자로 숫자를 사용했다.
*Dictionary 생성
예) grades={'egoing':10, 'k8805': 6, 'sorialgi':80}
설명: egoing는key가 되고, 10은 value가 된다. 아래는 해쉬를 만드는 다른 방법이다.
grades={}
grades['egoing']=10
grades['k8805']=6
grades['sorialgi']=80
print grades
다음은 특정한 key값을 가져오는 방법이다. 결과는 80이다.
grades={'egoing':10, 'k8805':6, 'sorialgi':80}
print grades['sorialgi']
다음은 dictionary의 데이터를 기준으로 반복작업을 하는 방법이다.
grades={'egoing':10, 'k8805':6, 'sorialgi':80}
for key in grades:
print ("key:"%s \t value: %s " %(key, grades[key])
<Tuple>
튜플은 리스트와 거의 비슷하지만 한번 만들면 변경하지 못한다. 애플리케이션 전반에 걸쳐서 변경되면 안되는 정보를 표현하기에 좋은 데이터 형식이다.
다음은 튜플을 생성하는 법이다.
tp=('a','b','c','d','e')
print tp[1]
**튜플을 생성하는 가장 쉬운 방법은 쉼표로 구분된 값을 대입하는 것이다.
tup=4,5,6
출력:
(4,5,6)
**괄호를 사용해서 값을 묶어줌으로써 중첩된 튜플을 정의할 수 있다.
예)
nested_cup=(4,5,6),(7,8)
출력: ((4,5,6),(7,8))
**모든 순차자료형이나 이터레이터는 tuple메소드를 통해 튜플로 변환 할 수 있다.
예)
tuple([4,0,2])
-->(4,0,2)
tup=tuple('string')
--->('s', 't', 'r', 'i', 'n', 'g')
** 튜플의 각 원소는 대괄호[] 를 이용해서 다른 순차자료형 처럼 접근 할 수 있다. 색인은 0부터 시작한다.
예) tup[0]
-->'s'
** 튜플에 저장된 객체 자체는 변경이 가능하지만 한번 생성이 되면 각 슬롯에 저장된 객체 를 변경하는 것은 불가능하다.
예)
tup=tuple(['foo', [1,2], True])
tup[2]=False
--->에러 발생
#하지만 다음처럼 사용하면 실행된다.
예) tup[1].append(3)
--->('foo', [1,2,3], True)
**튜플에서 값 분리하기
만일 튜플과 같은 표현의 변수에 튜플을 대입하면 파이썬은 등호(=)오른쪽에 있는 변수에서 값을 분리한다.
예)
tup=(4,5,6)
a, b, c=tup
b
출력:
5
**변수의 이름을 바꿀 때도 유용하게 사용된다.
a,b=b, a
댓글
댓글 쓰기