본문 바로가기
Study/Python

[Python] 리스트, 튜플

by YoungD 2023. 10. 6.

 

리스트

 

In [1]:
# 리스트 생성
a = []
b = [1, 2, 3]
c = ['My', 'Name']
d = [1, 2, 'a', 'b']
c = [1, 2, 'a', [3,4,'b','d']]

print(type(a))
print(d)
<class 'list'>
[1, 2, 'a', 'b']

 

In [2]:
# 인덱싱(indexing) > 무엇인가를 '가리킨다'
#리스트명[인덱스] : 인덱스에 위치한 값을 반환

# 슬라이싱(slicing)> 무엇인가를 ;잘라낸다'
#리스트명[시작인덱스:종료인덱스] : 시작 인덱스부터 종료인덱스 바로 전까지 값을 반환

 

In [3]:
li1 = [2,5,7,9,10]
print(li1[0])
print(li1[3])
print(li1[2]+li1[-1])
2
9
17

 

In [4]:
li2 = [1,2,3,['a','b','c']]
#템프 변수에 ['a','b','c']를 저장하고 출력
temp = li2[3]
print(temp)

#li2에서 문자 'b'만 인덱싱해서 출력하시오
print(li2[3][2])
['a', 'b', 'c']
c

 

In [5]:
li3 = [4,1, 2, 8, 6]
print(li3[1:3])
print(li3[:3])
print(li3[1:])
[1, 2]
[4, 1, 2]
[1, 2, 8, 6]

 

In [6]:
# 리스트 연산하기
li4 = [1, 2, 3]
li5 = [3, 4, 5]

print(li4*3)
print(li4+li5)
print(li4+li5)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[1, 2, 3, 3, 4, 5]
[1, 2, 3, 3, 4, 5]

 

In [7]:
# 리스트 값 추가하기
# 리스트명.append(값)

li6 = [1, 4, 3, 7, 6]
li6.append(5)
print(li6)
[1, 4, 3, 7, 6, 5]

 

In [8]:
# 리스트 값 삽입
# 리스트명.insert(인덱스, 값)

li7 = [0,1,2,3,4]
li7.insert(1, 5)
print(li7)
[0, 5, 1, 2, 3, 4]

 

In [9]:
# 리스트 값 수정
# 리스트명[인덱스] = 값
# 리스트명[슬라이싱] = 값
li8 = [0,1,2,3,4]
li8[1] = 7
print(li8)

li8[2:4] = [8,7]
print(li8)
[0, 7, 2, 3, 4]
[0, 7, 8, 7, 4]

 

In [10]:
array = [1, 2, 3, 4, 5]
# 숫자 5를 7로 변경
array[4] = 7

# 숫자 2를 리스트 ['a', 'b', 'c']로 변경
array[1] = ['a', 'b', 'c']

# 4, 7을 'd','e','f','g'로 변경
array[3:] = 'd','e','f','g'

# 1을 'h','i','j'로 변경
array[0:1] = 'h','i','j'

print(array)
['h', 'i', 'j', ['a', 'b', 'c'], 3, 'd', 'e', 'f', 'g']

 

In [11]:
# 리스트 값 삭제
# 1. 인덱스 이용하는 방법
#    - del 리스트명[인덱스]
# 2. 값을 이용하는 방법
#     - 리스트명.remove(값)

li9 = ['a','b','c']
del li9[1]
print(li9)

li9.remove('c')
print(li9)

# li9.remove('z') >> 에러 발생
['a', 'c']
['a']

 

In [12]:
# 리스트 정렬
# 리스트명.sort() > 기본적으로 오름차순 정렬

li10 = [9, 77, 13, 51, 100, 3]
print(li10)
li10.sort()
print(li10)

li10.reverse()
print(li10)
[9, 77, 13, 51, 100, 3]
[3, 9, 13, 51, 77, 100]
[100, 77, 51, 13, 9, 3]

 

In [13]:
# 리스트 순서 뒤집기
# 리스트명.reverse()
# 함수 정보 확인 단축키 shift + Tab

li11 = [9, 77, 13, 51, 100, 3]
print(li11)
li11.reverse()
print(li11)

li11.sort(reverse=True)
print(li11)
[9, 77, 13, 51, 100, 3]
[3, 100, 51, 13, 77, 9]
[100, 77, 51, 13, 9, 3]

 

In [14]:
# 리스트의 값 위치 반환하기
# 리스트명.index('값')

li12 = ['a','b','c','e','e','f']
print(li12.index('c'))
2

 

In [15]:
# 리스트 값의 길이(개수) 확인

print(len(li12))
print(len('안녕하세요'))
6
5

 

튜플

 

In [16]:
# 튜플 생성
a = ()
b = (1, 2, 3)
c = ('a','b','c')
d = ('a','b',('c',1,2))
e = 1, 2, 3, 4, 5
a, b = (1, 2, 3, 4), 5
name = ('kimmihee', )

print(type(name))
print(name)
<class 'tuple'>
('kimmihee',)

 

In [17]:
# 튜플 인덱싱/슬라이싱
tu1 = (0,1,2,3,('a','b','c'),5)
print(tu1[3])
print(tu1[1:5])
print(len(tu1))

# sort, reverse X
3
(1, 2, 3, ('a', 'b', 'c'))
6

 

리스트와 튜플의 공통점과 차이점

  • 멤버연산자 

 

In [18]:
str1 = '파이썬 최고'
print('파이썬' in str1)
print('파이썬' not in str1)

li = [77, 38, 10]
print(33 in li)
print(33 not in li)

if 'python' in str1 :
    print('포함')
else :
    print('미포함')
True
False
False
True
미포함

 

실습

 

In [19]:
lst = ['딸기', '바나나', '수박', '체리', '포도']
print("*"*30)
search = input('검색할 문자를 입력하세요 >>')
if search in lst :
    print(f'{search}는 리스트에 {lst.index(search)}번째 인덱스에 들어있습니다.')
else :
    print(f'{search}는 리스트에 들어있지 않습니다.')
print("*"*30)
******************************
검색할 문자를 입력하세요 >>수박
수박는 리스트에 2번째 인덱스에 들어있습니다.
******************************
In [20]:
s = "Hi, My name is youngd"
print("*"*30)
search = input('검색할 문자를 입력하세요 : >>')
if search in s :
    print(f'{search}는 문자열에 {s.count(search)}번 포함되어 있습니다')
else :
    print(f'{search}는 문자열에 포함되어있지 않습니다.')
print("*"*30)
******************************
검색할 문자를 입력하세요 : >>y
y는 문자열에 2번 포함되어 있습니다
******************************

'Study > Python' 카테고리의 다른 글

[Python] 딕셔너리  (0) 2023.10.11
[Python] 반복문  (2) 2023.10.07
[Python] 조건문  (0) 2023.10.05
[Python] 파이썬 연산자 종류 / 실습  (1) 2023.10.04
[Python] 주피터 노트북으로 파이썬 시작하기  (0) 2023.09.29