본문 바로가기
Programming/Python

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

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


divmod : 몫과 나머지를 튜플 형태로 돌려주는 함수


a = 5 / 3
b = 5 % 3

print a, b

print divmod(5,3)

// 결과값

1 2 (1, 2)


※ divmod : 내장함수



자료형 크기


숫자 < 사전 < 리스트 < 문자열 < 튜플



■ sort() : 오름차순으로 정렬 


L = [1,2,3, 'abc', 'a', 'z', (1,2,3), [1,2,3], {1:2}, ['abc']]
L.sort()
print L

// 결과값

[1, 2, 3, {1: 2}, [1, 2, 3], ['abc'], 'a', 'abc', 'z', (1, 2, 3)]


숫자 < 사전 < 리스트 < 문자열 < 튜플 임을 알 수 있다.





for 문


for <타겟> in <컨테이너 객체>:

statements

else :

statements



>> 컨테이너 객체에서 원소를 꺼내 타겟에 삽입

>> statement는 타겟의 value를 활용하여 코딩


print range(10)

for x in range(10):
    print x,

// 결과값
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0 1 2 3 4 5 6 7 8 9


※ range 내장함수가 반환하는 것은 list

※ for문 돌리면 그냥 숫자로 나옴



■ enumerate(i) : 컨테이너 객체가 지닌 각 요소값뿐만 아니라 인덱스 값도 함께 반환.


I = ['cat', 'dog', 'bird', 'pig']
for k, animal in enumerate(I):
    print k, animal

// 결과값

0 cat 1 dog 2 bird 3 pig


d = {'c' : 'cat', 'd' : 'dog', 'b' : 'bird', 'p' : 'pig'}
for k, key in enumerate(d):
    print k, key, d[key]

// 결과값

0 p pig 1 c cat 2 b bird 3 d dog


리스트나 튜플은 시퀀스 자료형으로서 각 요소를 index를 이용하여 참조가능하기 때문에, enumerate()에 자체적인 인덱스를 넘겨주면 된다.

허나, 사전은 자체적으로 인덱스를 관리하지 않기 때문에 enumerate()에게서 인덱스를 부여받는다. 

이 과정에서 사전은 키에 대한 해시값으로 순차 정렬된 후에 인덱스를 부여받는다.



for loop


for x in range(2, 4):
    for y in range(2, 10):
        print x,'*',y,'=', x*y
    print

// 결과값

2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27






반응형

댓글