본문 바로가기
Python/Python 개념

파이썬 List, Tuple의 개념

by hyun-am 2020. 3. 28.

List, Tuple

 

List

 

List의 개념

 

먼저 List는 복수개의 값을 담을 수 있는 데이터 구조입니다.

또한 List는 생성된 후에 변경이 가능합니다 .

 

List를 초기화 하는 방법

 

[ ] 안에 값을 담아서 생성합니다. 또한 list( )함수로 생성합니다.

마지막으로 str.split( )함수로 생성할 수 있습니다.

 

생성예제

a = [1, 3, 5, 6, 7, 9]
print(a)
# [1,3,5,6,7,9]

b = ['school','home','집',1,2,[4,5,6]]
print(b)
# ['school','home','집',1,2,[4,5,6]]

c = '아버지 가방에 들어가 셨습니다.'
d = c.split()
print(d)
# ['아버지', '가방에', '들어가', '셨습니다.']

 

List에서 사용하는 함수

 

list( ) 함수 : 다른 데이터 타입을 리스트로 변환할 때 사용합니다.

list( ) 예제

a = 'school'
b = list(a)
print(b)
# 출력 : ['s','c','h','o','o','l']

c = (1,3,5)
d = list(1,3,5)
print(d)
# 출력 : [1,2,3]

또한 list는 index를 통해 원소들을 반환할 수 있습니다. 마찬가지로 index를 통해 인덱스 개별 아이템에 접근할 수도 있습니다.

 

a = [1,3,5,7,9]
print(a[2])
# 출력 : 5
# 맨 앞부터 0으로 시작하고 마지막은 4번 인덱스 입니다.

# 또한 마지막 원소를 -1을 입력하여 가져올 수도 있습니다. 
print(a[-1])
# 출력 9

x = 'hello 1234'
y = x.replace('1','7')
print(x)
print(y)
# 출력 : hello 1234
# 출력 : hello 7234 

 

List slicing

문자열 슬라이싱과 동일하게 동작합니다. 슬라이싱의 결과 역시 list 입니다.

 

x = [1,3,5,7,9,2,4,6,8]
print(x[1:5])    # 범위 (x[1]~x[4])
print(x[:5])
print(x[3:])
print(x[:])

# 슬라이싱 
# 시작 : 끝 : 증가(1)

print(x[1:8:2])

## 출력 값 ## 
# [3, 5, 7, 9]
# [1, 3, 5, 7, 9]
# [7, 9, 2, 4, 6, 8]
# [1, 3, 5, 7, 9, 2, 4, 6, 8]
# [3, 7, 2, 6]

 

append( )

리스트의 끝에 항목을 추가합니다.

 

x = [10, 20, 30, 40, 50]
x.append(60)

print(x)

# 출력 값 : [10, 20, 30, 40, 50, 60]

 

extend( )

리스트를 연장합니다. += 으로도 가능합니다.

 

x = [5, 10, 15, 20, 25, 30]
y = [35, 40, 45, 50, 55, 60]

clock = x+y
x.extend(y)

print(x)
print(clock)

## 출력 값
# [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60]
# [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60]

 

insert( )

리스트의 원하는 위치에 추가 기능

앞에 인덱스를, 뒤에 아이템을 명시 해줍니다.

 

a = [2,4,6,10,12,14,16,18]
a.insert(3,8)
print(a)

# 출력 값 : [2, 4, 6, 8, 10, 12, 14, 16, 18]

 

remove( )

값으로 항목을 삭제합니다.

a = [3,6,9,12,15,14]
a.remove(14)
print(a)

# 출력
# [3,6,9,12,15]

 

pop( )

지우고자 하는 아이템을 반환 후, 삭제

a = [1,2,3,4,5,6,7]
last = a.pop(-1)

print(a)
print(last)

## 출력 값 
# [1, 2, 3, 4, 5, 6]
# 7

 

index( )

찾고자 하는 값의 인덱스 반환

a = [1,3,5,15,25,35,40]
a.index(25)

# 출력 값
# 4

 

in 키워드

리스트 내에 해당 값이 존재하는지 확인

value in [list]

Trum False 중 한가지로 반환

a = [2,4,6,8,10]
b = 4
c = b in a # True
print(c)

 

list 정렬

sort( ) → 리스트 자체를 내부적으로 정렬합니다

sorted( ) → 리스트의 정렬된 복사본을 반환합니다.

a = [123,124,5,456,523,4123,7,6412,523]
a.sort(reverse=True)
b = sorted(a)
print(a)
print(b)

## 출력 값
# [6412, 4123, 523, 523, 456, 124, 123, 7, 5]
# [5, 7, 123, 124, 456, 523, 523, 4123, 6412]

 

 

Tuple

 

Tuple이란

 

먼저 Tuple이란 생성된 후 변경이 불가능한 리스트 라고 설명할 수 있습니다.

 

a = [1,3,5,7]
b = (1,3,5,7)

print(type(a))
print(type(b))

a[0] = 100
print(a)

## 출력 값 
# <class 'list'>
# <class 'tuple'>
# [100, 3, 5, 7]

## 튜플은 값을 변경할 수 없으므로 아래 값은 오류가 나옵니다.
b[0] = 100
print(b)

 

Tuple unpacking

튜플의 값을 차례대로 변수에 대입합니다.

 

a, b, c, d = '가','나','다','라'
print(a,b,c,d)

# 가 나 다 라

 

 

 

'Python > Python 개념' 카테고리의 다른 글

파이썬 함수 - 기초  (0) 2020.03.29
파이썬 반복분(While)  (1) 2020.03.29
파이썬 반복문(for)  (0) 2020.03.28
파이썬 조건문  (0) 2020.03.28
파이썬 Dictionary의 개념  (1) 2020.03.28

댓글