code/python

빠른 Python 정리 07: list & tuple

devstdio 2019. 5. 12. 07:45

list

l = ["1", "hello", 3, 4, 5]

어떠한 자료형도 들어갈 수 있으며, list 안에 list도 들어감. Mutable하므로 list 안의 값을 바꿀 수 있음 (l[1] = "bye"와 같이).

print([1,2,3,4,5]+[6,7,8,9]) -> [1,2,3,4,5,6,7,8,9]

len([1,2,3,4,5]) -> 5 (len() 함수는 리스트 내 요소의 개수를 반환함)

이외 슬라이싱, 구성 요소 확인 등은 str과 거의 동일.

관련 함수

del(리스트의 특정 인덱스 값 삭제)

l = [1,2,3,4,5]
del(l[1])
print(l)

출력: [1,3,4,5]

append(리스트 끝에 값 추가)

l = [1,2,3,4,5]
l.append(6)
print(l)

출력: [1,2,3,4,5,6]

sort (오름차순 정렬)

l = [6,1,1,1]
l.sort()
print(l)

출력: [][][1,1,1,6]

reverse (리스트 반전)

l = [2,3,4,5]
l.reverse()
print(l)

출력: [5,4,3,2]

index (찾는 값의 인덱스 반환)

l = [2,2,3,4,5]
l.index(2) #똑같은 값이 두 개면 처음 인덱스 반환

출력: 0

insert (특정 인덱스에 요소 삽입)

l = [1,2,3,4,5]
#a번째 위치에 b 삽입
l.insert(1,"ONE")
print(l)

출력: [1,"ONE", 2, 3, 4, 5]

remove (특정 요소 삭제)

l = [1,"ONE",2,3,4,5]
#a번째 위치에 b 삽입
l.remove("ONE")
print(l)

출력: [1,2,3,4,5]

pop (특정 인덱스 요소 꺼내기)

l = [1,2,3,4,5]
l.pop(1)

반환(출력): 2

count (요소 개수 확인)

l = [1,1,1,6]
l.count(1)

출력: 3

extend (리스트 확장, + 연산자와 동일)

l1 = ["a"]
l2 = ["b"]
l1.extend(l2) #l1+=l2
print(l1)

출력: ['a','b']

join (해당 글자를 사이에 두고 합치기)

l1 = ",".join(['a','b','c'])
print(l1)

출력: 'a,b,c'

list의 복사 (copy)

#qa와 qb는 사실상 포인터 격으로 같은 배열이 되어버림(qa, qb 둘 다 뭘 수정해도 둘 다 수정됨)
qa = [1,2,3,4,5]
qb = qa
print(qa)
print(qb)
print(id(a))
print(id(b))

출력:

2461528864904
2461528864904

xa = [1,2,3]
xb = xa.copy()
print(id(xa))
print(id(xb))

출력:

2461528865352
2461528816264

tuple

t=(1,2,3) OR t=1,2,3

Immutable한 자료형. 원소 삽입, 삭제, 교체, 수정이 불가능.

병합(t=(1,2,3)+(4,5,6)), 반복(print((1,2,3)*2)), 인덱싱(print((1,2,3)[0])), 슬라이싱(print((1,2,3)[0:2]))), 길이 구하기(len(1,2,3))은 지원.

반응형