(파이썬) 문법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']

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




댓글

이 블로그의 인기 게시물

(ElasticSearch) 결과에서 순서 정렬

(네트워크)폴링방식 vs 롱 폴링방식

(18장) WebSocekt과 STOMP를 사용하여 메시징하기