Python

[Python] 리스트, 튜플

퓨어맨 2022. 6. 22. 14:10

리스트 list

  • 파이썬의 자료구조 중 하나
  • 순서가 있는 수정가능한 대상
  • 대괄호 ([])로 작성됨, 리스트 내부의 값은 콤마 (,)로 구분
  • 추가, 수정, 삭제 가능

 

# 리스트 정의(선언)

a = [] # 빈리스트, 뭐가 담아질지 모를때 미리 만듬
b = [1,2,3] # 숫자 요소를 담은 리스트
c = ['my','name','is','jy'] # 문자열 요소를 담은 리스트
print(a)
print(b)
print(c)
[]
[1, 2, 3]
['my', 'name', 'is', 'jy']

 

 

d = [1,'jy',2,'hw'] # 문자와 숫자 등 여러 자료형 요소 한꺼번에 담기 가능
e = [[1,'jy'],[2,'hw']] # 이중리스트 선언 가능
print(d)
print(e)
print('d의 길이:', len(d))
print('e의 길이:', len(e)) # 요소의 개수만큼 리스트 길이 결정
[1, 'jy', 2, 'hw']
[[1, 'jy'], [2, 'hw']]
d의 길이: 4
e의 길이: 2

 

 

# 3중 리스트
e = [[0,[1,'jy']], [1,[2,'hw']] , [2,[3,'cy']]]
print(len(e))
3

 

 

e = [[1,'jy'],[2,'hw']]
e[1][1]
'hw'

 

 

e2 = [[0,[1,'jy']], [1,[2,'hw']] , [2,[3,'cy']]]
# e2 에서 hw 접근해보기 !
e2[1][1][1]
'hw'

 

 

# 이중리스트 만들기
# 아이스크림 정보
br = [['재석','초콜릿무스'],['광수','사빠딸'],['종국','뉴욕치즈'],['지효','레인보우샤베트'],['석진','아몬드봉봉']]
br
print(len(br))
# 지효의 정보 접근해보자 !
print(br[3])

# 아이스크림 이름만 출력해보자 !
print(br[3][1])
5
['지효', '레인보우샤베트']
레인보우샤베트

 

 

# 인덱싱 - 딱 하나 가리킴
# 광수 정보 접근
print(br[1])
# 광수 이름만 출력
print(br[1][0])
['광수', '사빠딸']
광수

 

 

# 슬라이싱
# : (콜론)으로 범위를 지정
# [첫인덱스(0):끝인덱스:증감값(1)]

c[2:]
['is', 'jy']

 

 

# 처음부터 끝까지 슬라이싱
e[:]
# 데이터 확인
# 데이터[]
# 대괄호 안에 인덱스 번호 지정
[[1, 'jy'], [2, 'hw']]

 

 

print(e[0][1])
print(e[1][1]) # 규칙성이 있음 -> 반복문 활용 가능
jy
hw

 

 

lst1 = [1,2,3]
lst2 = [3,4,5,6]
print(lst1+lst2)
# 데이터분석 lib 사용하면 숫자 연산 가능해짐
# 리스트 내부의 0번째 요소끼리 더해보기
lst1[0] + lst2[0]
[1, 2, 3, 3, 4, 5, 6]
4

 

 

# append() : 맨 뒤로 값 추가
br.append(['세찬','초코나무숲'])
print(br)
[['재석', '초콜릿무스'], ['광수', '사빠딸'], ['종국', '뉴욕치즈'], ['지효', '레인보우샤베트'], ['석진', '아몬드봉봉'], ['세찬', '초코나무숲']]

 

 

list1 = ['사과', '포도', ['수박','멜론'], '복숭아', '딸기', '오렌지']

a=list1[0]
b=list1[5]
c=list1[2][0]

choice_list = []
choice_list.append(a)
choice_list.append(b)
choice_list.append(c)
print(choice_list)
['사과', '오렌지', '수박']

 

 

# insert(인덱스위치,값)
choice_list
# 오렌지 다음에 '포도' 추가하기
choice_list.insert(2,'포도')
choice_list
['사과', '오렌지', '포도', '수박']

 

 

# 오렌지 앞에 '망고' 추가하기
choice_list.insert(1,['망고','파인애플'])
choice_list
['사과', ['망고', '파인애플'], '오렌지', '포도', '수박']

 

 

b = [['재석','A'],['광수','A'],['종국','B'],['지효','O'],['하하','AB']]

# 재석 A -> O
# 원하는 위치 접근 ! 재석의 혈액형 위치 접근
b[0][1] = 'O'
b
[['재석', 'O'], ['광수', 'A'], ['종국', 'B'], ['지효', 'O'], ['하하', 'AB']]

 

 

# 지효 혈액형 O -> B
b[3][1] = 'B'
b
[['재석', 'O'], ['광수', 'A'], ['종국', 'B'], ['지효', 'B'], ['하하', 'AB']]

 

 

# sort() 오름차순 정렬
# reverse = False 오름차순 정렬
# reverse = True 내림차순 정렬
list_num = [45,10,100,73,81]
list_num.sort(reverse = True)
list_num

 

[100, 81, 73, 45, 10]

 

 

# 반전시키는 함수
# reverse()
list_num.reverse()
list_num
[10, 45, 73, 81, 100]

 

 

# 리스트 값 제거하는 함수
# remove
list_num.remove(10)
list_num
[45, 73, 81, 100]

 

 

# pop() : 리스트 맨 뒤의 값을 삭제
list_num.pop()
list_num
[45, 73, 81]

 

 

튜플

  • 파이썬의 자료 구조 중 하나
  • 순서가 있는 집합
  • 소괄호(())로 작성됨, 튜플 내부의 요소 콤마(,)로 구분
  • 변할 수 없음, 추가/삭제/수정 불가능

 

# 튜플 선언
a = () # 빈 튜플
b = (1,2,3) # 숫자 요소 담기
c = ('my','name','is','jy') # 문자열 요소 담기
d = (1,2,'my','name') # 여러 자료형 한꺼번에 담기
e = (1,2,'my',('my','name')) # 이중 튜플 선언

print(a)
print(b)
print(c)
print(d)
print(e)
()
(1, 2, 3)
('my', 'name', 'is', 'jy')
(1, 2, 'my', 'name')
(1, 2, 'my', ('my', 'name'))

 

 

# list - 변경해야되는 데이터를 한꺼번에 저장할 때
# tuple - 변경할 필요가 없는 데이터를 한꺼번에 저장할때

 

 

# 숫자 2에 접근해보기
e[1]

# 2번째 인덱스 부터 끝까지 슬라이싱
e[2:]
('my', ('my', 'name'))

 

 

# in, not in
'!' in '안녕하세요!'
'~' in '없어~'
True

 

 

'!' not in '안녕하세요!'
'~' not in '없어~' #'없어~' 안에 '~' 없지?
False

 

 

lst = ['딸기','바나나','수박','체리','포도']

fruit = input('검색할 문자를 입력하세요 >> ')
if fruit in lst:
    print(f'{fruit}는 리스트 {lst.index(fruit)}번째 인덱스에 들어 있습니다.')
else:
    print(f'{fruit}는 리스트에 들어있지 않습니다.')
검색할 문자를 입력하세요 >> 딸기
딸기는 리스트 0번째 인덱스에 들어 있습니다.

 

 

s = "Hi, My name is Mihee"

str1 = input('검색할 문자를 입력하세요 : ')
if str1 in s:
    print(f'\'{str1}\'는 {s.count(str1)}번 들어 있습니다.')
else:
    print(f'\'{str1}\'는 문자열에 들어있지 않습니다.')
검색할 문자를 입력하세요 : i
'i'는 3번 들어 있습니다.

 

 

s = "Hi, My name is Mihee"
str1 = input('검색할 문자를 입력하세요 : ')
check = str1 in s

# if check:
#     print('들어있습니다.')
# else:
#     print('들어있지 않습니다.')
# not 이라는 연산자는 잘 연결되고 있는지 확인할때 연결해서 사용하는 키워드

if not check: 
    print('들어있지 않습니다.')
else:
    print('들어있습니다.')
검색할 문자를 입력하세요 : c
들어있지 않습니다.

 

'Python' 카테고리의 다른 글

[Python] 딕셔너리(dict)  (0) 2022.06.28
[Python] 반복문(while, for)  (0) 2022.06.27
[Python] 조건문  (0) 2022.06.22
[Python] 연산자(산술,지수,복합,비교,멤버)  (0) 2022.06.15
[Python] 문자열(인덱싱, 슬라이싱)  (0) 2022.06.10