본문 바로가기

Python

[Python] 12

내장함수(Built-in Function)

11. range()

- 전달된 인수값에 따라 순차적인 데이터를 생성하여 반환

- range(stop) : 0부터 stop-1 까지의 숫자를 생성

- range(start, stop) : start 부터 stop-1 까지의 숫자를 생성

- range(start, stop, step) : start 부터 stop-1 까지의 숫자를 step 간격으로 생성

(ex) range(10) : 0, 1, 2, ..., 9의 값을 가지며 range

(cf) list(range(10))

12. sorted()

- 입력받은 인수들을 순서대로 배열한다.(오름차순, 내림차순 가능)

(ex) student = ['A', 'B', 'C']

student_a = sorted(student, reverse=False) : 오름차순

student_b= sorted(student, reverse=True) : 내림차순

13. enumerate(), zip()

- enumerate(리스트) : 리스트 순번, 리스트 값을 반환

- zip(리스트1, 리스트2) : 리스트1과 리스트2를 같은 순번끼리 묶어서 반환

메서드(Method) 맛보기

- 메서드 : 클래스 안에 있는 함수

- 클래스 : 멤버 변수, 멤버 함수(method)

(ex) str.format(), random.randint()

1. Method - List

- list_a = [1, 2, 3]

list_a[3] = 4 → X : 데이터 추가 불가능

list_a.append(4) → O : 데이터 추가 가능

※ append(넣을 대상) : 리스트의 맨 뒤에 멤버를 추가한다.

※ insert(인덱스, 넣을 대상) : 인덱스 위치에 넣을 대상을 추가한다.

※ extend(넣을 대상) : 다른 집합객체(반복객체 - List)를 통째로 추가한다.

※ pop(인덱스) : 리스트에서 데이터를 꺼내고 삭제한다.
                          (꺼낸 데이터는 기존 리스트에서 사라지며, 인덱스가 없으면 맨 마지막 데이터를 꺼내온다.)

※ remove(값) : 리스트에서 첫 번째 만나는 '값'과 동일한 멤버를 삭제한다.

※ index(값, 시작인덱스, 종료인덱스) : 리스트의 시작인덱스와 종료인덱스 사이 멤버 중
                                                            '값'과 동일한 멤버의 인덱스를 반환한다.

※ clear() : 리스트를 전체 삭제한다.


실습(내장함수)

11. range()

printExp("range(10)")
print(range(10))
print(type(range(10)))

a = list(range(10))
print(a)

a = list(range(1, 20, 2)) # step = 2
print(a)

a = list(range(10, 0, -1))
print(a) # 역순(10, 9, ..., 1)

a = list(range(0, 15, -5))
print(a) # 오류가 나진 않지만 값이 없다.

 

결과

12. sorted()

student = ['A학생11111', 'a학생', 'b학생', '12345']

student_a = sorted(student, reverse=False)
print(student_a)

student_a = sorted(student, reverse=True)
print(student_a)

# ASCII : 0x30(16*3 + 0 = 48)부터가 숫자, 0x41부터가 A, 0x61 부터가 a

 

결과

13. enumerate(), zip()

- enumerate()

student = ['A학생11111', 'a학생', 'b학생', '12345']
print(enumerate(student)) # 오류 발생 : 값이 출력되지 않음

student_e = list(enumerate(student))
print(student_e)

for s in enumerate(student):
    print(s[0], s[1]) # s[0] : 리스트 순번, s[1] : 리스트 값

 

결과​

 

- zip()

student = ['A학생11111', 'a학생', 'b학생', '12345']
student_i = ['30444', '30122', '20312', '11111']
student_ii = ['A학생11111', 'a학생', 'b학생']

print(zip(student, student_i)) # 오류 발생 : 값이 출력되지 않음

for s in zip(student, student_i): print(s[0], s[1]) # s[0] :
    student 값, s[1] : student_i 값
    
for s in zip(student_i, student_ii):
    print(s[0], s[1]) # 값의 개수가 일치하지 않는 경우 : 값의 개수가 적은 쪽의 개수만큼 출력된다.

 

결과

 

실습(Method)

1. append()

list_a = [1, 2, 3]
print(list_a)

# list_a[3] = 4 # 오류 발생 : list_a[3] 자체가 없다.(index out of range)

list_a.append(4)
print(list_a)

list_a.append("abcde")
print(list_a)
print(list_a[0] * list_a[1]) # 1+1 = 2 → 'abcde'를 넣어도 문자로 바뀌지 않는다.

 

결과

2. insert()

list_a.insert(2, 655555)  # list_a[2]에 655555가 추가된다.
print(list_a)

 

결과

 

3. extend()

list_b = [4, 5, 6, 7, 8]
list_a.extend(list_b) # list_a에 list_b를 모두 붙인다.
print(list_a)

tuple_a = (5434, 2323)
list_a.extend(tuple_a) # tuple도 list에 붙일 수 있다.
print(list_a)

set_a = {1232, 123123, 3242}
list_a.extend(set_a) # set도 list에 붙일 수 있다.(순서는 보장되지 않는다.)
print(list_a)

 

결과

 

4. pop()

b = list_a.pop() # 아무것도 입력하지 않은 경우 맨 끝 값을 가져온다.
c = list_a.pop(0) # list_a[0]의 값을 가져온다.
print(b, c)
print(list_a) # pop()으로 가져온 값은 사라진다.

 

결과

5. remove()

e = list_a.remove('abcde')
print(e)
print(list_a)

f = list_a.remove(4) # list_a에서 가장 앞에 있는 4를 지운다.
print(list_a)

 

결과

6. index()

# g = list_a.index(4, 4) # 못찾으면 오류
g = list_a.index(4, 1) # 몇 번부터 찾든 index는 list의 시작부터의 값(4는 첫 번째 값부터 시작하면 3번째에 있다.)
print(g)

 

결과

7. clear()

list_a.clear() # list_a의 모든 값을 지운다.
print(list_a)

 

결과

 

'Python' 카테고리의 다른 글

[Python] 14  (0) 2021.12.04
[Python] 13  (0) 2021.12.03
[Python] 11  (0) 2021.11.28
[Python] 10  (0) 2021.11.27
[Python] 09  (0) 2021.11.24