«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Recent Posts
Today
Total
관리 메뉴

짜리몽땅 매거진

[Python] 문자열과 리스트/튜플, 시퀀스 자료형, 인덱스 본문

Data/Python

[Python] 문자열과 리스트/튜플, 시퀀스 자료형, 인덱스

쿡국 2023. 7. 19. 16:09

문자열과 리스트, 튜플

시퀀스 자료형

인덱스

 

리스트
리스트는 모든 자료형이 다 들어갈 수 있다
내가 원하는 데이터를 담아준다.
a=[1,2,3,4,5] #리스트는 대괄호를 사용한다
a
[1, 2, 3, 4, 5]
a=[]
b=list()
a
[]
b
[]
range
범위를 뜻하는 range
원하는 숫자 범위만큼을 쉽게 나타낼 수 있다.
주의할 점: 범위를 지정하지 않을 경우 0부터 출력되며, 항상 범위의 끝 수는 출력되지 않는다.
range(10)
range(0, 10)
a=list(range(10))
a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(시작, 끝)
range(시작, 끝, 증가폭) 으로 다양하게 표현 가능!
list(range(0, 30))
[0,
 1,
 2,
 3,
 4,
 5,
 6,
 7,
 8,
 9,
 10,
 11,
 12,
 13,
 14,
 15,
 16,
 17,
 18,
 19,
 20,
 21,
 22,
 23,
 24,
 25,
 26,
 27,
 28,
 29]
list(range(7, 20))
[7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
list(range(7, 20, 2))
[7, 9, 11, 13, 15, 17, 19]
list(range(-5, 15,2))
[-5, -3, -1, 1, 3, 5, 7, 9, 11, 13]
list(range(17, -5, -1)) #감소도 가능하다
[17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4]
list(range(15,-4,3)) #잘못된 표현 감소폭을 -3으로 해야함.
[]
튜플
리스트와 동일함
but, 리스트와 다르게 소괄호 사용
값의 변경, 삭제, 추가 등이 불가함. 읽기 전용.
a=tuple(range(10))
a #소괄호로 출력되는거 확인!
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
a=list(tuple(range(10)))
a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a=1,2,3,4,5
a
(1, 2, 3, 4, 5)
b=list(a)
b
[1, 2, 3, 4, 5]
tuple(b)
(1, 2, 3, 4, 5)
tuple(range(3,20,2))
(3, 5, 7, 9, 11, 13, 15, 17, 19)
시퀀스 자료형
연속된 자료형
리스트, 튜플, range, 문자열 모두 공통점은 시퀀스 자료형이라는 점
값이 자료형에 있는지 참, 거짓으로 판단해준다.
시퀀스 객체를 연결할 수도 있다.
a
(1, 2, 3, 4, 5)
4 in a
True
4 not in a
False
'z' in 'python' #문자열도 시퀀스객체
False
a=[1,2,3,4]
b=[1,2,3]
a+b
[1, 2, 3, 4, 1, 2, 3]
a*4
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
a/b
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_8828\1348051284.py in <module>
----> 1 a/b

TypeError: unsupported operand type(s) for /: 'list' and 'list'

len
시퀀스 객체 요소의 개수를 알려준다.
len(list(range(10)))
10
len(range(20))
20
len('fjkdsajfj;')
10
c='faskjdfkaj'
len(c)
10
인덱스
시퀀스객체[ 인덱스 ] #대괄호로 표현
컴퓨터가 순서를 외우기 위해 본인이 자동적으로 순서를 지정한 것
a=['안녕하세요', '저는', '준호입니다']
b=[10, 20, 30]
a[1]
'저는'
a[1,2,3] # 다 출력은 안되는건가?, 콤마가 잘못된건가?
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_8828\1893019804.py in <module>
----> 1 a[1,2,3]

TypeError: list indices must be integers or slices, not tuple

b[0]
10

* 추가 과제

위에 배운 range 함수 기능을 튜플에도 동일하게 적용해 보세요!
range() , range(시작,끝), range(시작, 끝, 증가폭) 증가 ,감소 모두 다

a=tuple(range(10))
b=tuple(range(7,15))
c=tuple(range(5, 25, 4))
display(a)
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
display(b)
(7, 8, 9, 10, 11, 12, 13, 14)
display(c)
(5, 9, 13, 17, 21)
d=tuple(range(7, -13, -4))
display(d)
(7, 3, -1, -5, -9)
​

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

[Python] 반복문 응용 for/while  (0) 2023.07.19
[Python] 조건문 elif, for range문  (0) 2023.07.19
[Python] 딕셔너리, if 조건문  (0) 2023.07.19
[Python] 인덱스, 딕셔너리  (0) 2023.07.19
[Python] 문법 기초  (0) 2023.07.19