본문 바로가기
Programming/Python

[python] 보안프로그래밍3 중간고사 정리 (2)

by graygreat 2017. 4. 25.
728x90
반응형


문자열 (인덱싱과 슬라이싱) 슬라이싱 : 자르기


s = "Hello world!"

print s[1:3]

print s[0:5]

 

// 결과값

el

Hello


s = 'abcd'
print s[::2]
print s[::-1]

// 결과값

ac

dcba


s = 'Hello World'
s[0] = 'h'

// 결과값

오류

※ 문자열 자료형은 내부 내용 변경 불가능


s = 'Hello World'
s = 'h' + s[1:]
print s

// 결과값

hello world





리스트 : 임의의 객체를 순차적으로 저장하는 집합적 자료형


L = [1,2,3]
print type(L)
print
print len(L)
print
print L[1]
print L[-1]
print L[1:3]
print
print L + L
print L * 3

// 결과값
<type 'list'>

3

2
3
[2, 3]

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


※ 인덱스에 개수가 1개이면 출력할 때 숫자로 나오지만, 인덱스 슬라이싱을 하면 리스트로 출력



Range() : range(k)는 0부터 k - 1까지의 숫자의 리스트를 반환함.


L = range(10)
print L
print L[::2]
print L[::-1]
print 4 in L


// 결과값

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 2, 4, 6, 8] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] True



튜플 : 리스트와 유사하지만 튜플 내의 값을 변경할 수 없음


■ 튜플은 둥근 괄호() 사용


■ 수정이 불가능하므로 상수와 비슷한 속성


■ 적합한 사용 예

- months = ('January', 'February', ... , 'December')

- 각 값에 대해 인덱스가 부여됨


■ 문자열이 지닌 대부분의 연산들은 튜플도 지원



t = (1,2,3)

print len(t)
print
print t[0]
print t[-1]
print t[0:2]
print t[::2]
print
print t + t + t
print t * 3
print
print 3 in t

// 결과값
3

1
3
(1, 2)
(1, 3)

(1, 2, 3, 1, 2, 3, 1, 2, 3)
(1, 2, 3, 1, 2, 3, 1, 2, 3)

True


※ 문자열 연산은 가능(인덱싱, 슬라이싱, +, *, 멤버쉽 테스트)


※ 인덱스에 개수가 1개이면 출력할 때 숫자로 나오지만, 인덱스 슬라이싱을 하면 튜플로 출력





사전 정수형 인덱스가 아닌 키를 이용하여 값을 저장하는 자료 구조


사전의 원소 -> key : value

 저장된 각 자료에 대한 순서는 의미 없음

 매핑(Mapping) 함수와 비슷한 역할을 함 --> x라는 key 값을 넣으면 y값 반환

 중괄호({ }) 사용

 콤마(, )를 기준으로 아이템 구분


d = {'one' : 'hana', 'two' : 'dul', 'three' : 'set'}
d['four'] = 'net'
print d
d['one'] = 1
print d
print 'one' in d

// 결과값
{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 'hana'}
{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 1}
True


■ 사전에 새 항목 넣기 --> 사전['key'] = 'value'

■ 사전은 순차적이지 않고, 랜덤한 순서로 존재

■ 실제로는 키에 대한 해시값으로 순차 정렬이 됨




사전의 출력값


d = {'one' : 'hana', 'two' : 'dul', 'three' : 'set', 'four' : 'net'}
print d.keys()
print d.values()
print d.items()

// 결과값

['four', 'three', 'two', 'one'] ['net', 'set', 'dul', 'hana'] [('four', 'net'), ('three', 'set'), ('two', 'dul'), ('one', 'hana')]


■ 사전.keys() --> 키만 추출 (임의의 순서)

■ 사전.values() --> 벨류만 추출 (임의의 순서)

■ 사전.items() --> 키와 값을 튜플로 추출 (임의의 순서)

keys, values, items가 반환하고 있는 자료형 --> 리스트









반응형

댓글