반응형
반응형
문자열   H   E   L   L   O   W   O  
인덱싱   0   1   2   3   4   5   6  
슬라이싱 0   1   2   3   4   5   6   7
슬라이싱 -7   -6   -5   -4   -3   -2   -1   0

 

s = "Hello World"

print(s[0])  # 출력 : H
print(s[-1])  # 출력 : d
print(s[1:3])  # 출력 : el
print(s[:])  # 출력 : Hello
print(s[1:])  # 출력 : ello World
print(s[:3])  # 출력 : Hel
print(s[::2])  # 출력 : HloWrd
print(s[::-1])  # 출력 : dlroW olleH
print('Hello' + ' ' + 'World')  # 출력 : Hello World
print('Hello' * 3)  # 출력 : Hello Hello Hello

# s[0] = 'h'  불가능
s = 'h' + s[1:]  # 출력 : hello World

print(len(s))  # 출력 : 11
print(s.upper())  # 출력 : HELLO WORLD
print(s.lower()) # 출력 : hello world
print(s.swapcase()) # 출력 : HELLO wORLD
print(s.capitalize()) # 출력 : Hello world
print(s.title()) # 출력 : Hello World

print(s.endswith('ld'))  # 출력 : True
print(s.endswith('ld',0,26)) # 출력 : False
print(s.startswith('hel'))  # 출력 : True
print(s.startswith('hel',7)) # 출력 : False
print(s.find('World'))  # 출력 : 6
print(s.find('World',3)) # 출력 : 6
print(s.index('World')) # 출력 : 6
print(s.rfind('like')) # 출력 : -1
print(s.count('ld')) # 출력 : 1
print('World' in s)  # 출력 : True

u = ' spam and ham '
s = 'one:two:three:four'
t = u.split()
print(u.split()) # 출력 : ['spam' , 'and' , 'ham']
print(u.split('and')) # 출력 : ['spam' , 'ham']
print(s.split(':',2)) # 출력 : ['one', 'two', 'three:four']
print(u.strip()) # 출력 : spam and ham
print('ㅎㅁㅎㅂ파이썬ㅂㅎㅁ'.strip('ㅎㅁㅂ')) # 출력 : 파이썬
print(s.rsplit(':',1)) # 출력 : ['one:two:three', 'four']
print(u.rstrip()) # 출력 :  spam and ham
print(u.lstrip()) # 출력 : spam and ham
print(u.replace('spam', 'spam, egg')) # 출력 : spam, egg and ham
print(':'.join(t)) # 출력 : spam:and:ham

lines = '''first line
second line
thrid line'''
print(lines.splitlines()) # 출력 : ['first line', 'second line', 'thrid line']

u = 'spam and egg'
print(u.center(20)) # 출력 :     spam and egg
print(u.center(20,'-')) # 출력 : ----spam and egg----
print(u.ljust(20)) # 출력 : spam and egg
print(u.rjust(20)) # 출력 :         spam and egg

 

문자열은 인덱스로 접근 가능합니다. print(s[0]) # 출력 : H
슬라이싱도 가능합니다. print(s[1:3]) # 출력 : el
문자열끼리 더하기도 가능합니다. print('Hello' + ' ' + 'World') # 출력 : Hello World
문자열에 곱하기도 가능합니다. print('Hello' * 3) # 출력 : Hello Hello Hell

 



문자열은 인덱스로 접근해서 값을 변경할 수 없습니다. # s[0] = 'h' 불가능

H를 h로 바꾸려고 한다면 'h'에다가 1번인덱스 부터 끝까지 더해서 붙히는 작업을 해야합니다.

s = 'h' + s[1:] # 출력 : hello World


len(문자열)을 통해서 길이를 구할 수 있습니다. print(len(s)) # 출력 : 11
upper()을 이용해 대문자로 바꿀 수 있습니다. print(s.upper()) # 출력 : HELLO WORLD

lower()을 이용해 소문자로 바꿀 수 있습니다. print(s.lower()) # 출력 : hello world
swapcase()을 이용해 소문자는 대문자 대문자는 소문자로 바꿉니다. print(s.swapcase()) # 출력 : HELLO wORLD

capitalize()를 이용해 첫글자만 대문자로 만듭니다. print(s.capitalize()) # 출력 : Hello world
title()을 이용해 각 단어 첫글자를 대문자로 만듭니다. print(s.title()) # 출력 : Hello World


endswith(내용)을 이용해 어떤 문자열로 끝나는지 True False를 반환합니다. print(s.endswith('ld')) # 출력 : True

endswith(내용,시작인덱스, 끝 인덱스)를 이용해서 범위 지정할수도 시작 인덱스만 정할수도 있습니다.

startswith(내용)을 이용해 어떤 문자열로 시작하는지 True False를 반환합니다. print(s.startswith('hel')) # 출력 : True

startswith(내용,시작인덱스, 끝 인덱스) 이렇게 범위를 지정할 수도 시작 인덱스만 정할수도 있습니다.
find(내용)으로 내용의 값이 몇번째 인덱스 있는지 찾습니다. 찾는 문자가 없는 경우 –1 반환

find(내용, 시작인덱스) 이렇게 시작할 인덱스를 정할 수도 있습니다.  print(s.find('World')) # 출력 : 6

index(내용) find()와 동일하지만 없으면 에러를 일으킵니다. print(s.index('World')) # 출력 : 6
rfind(내용)은 내용을 오른쪽부터 찾습니다. print(s.rfind('like')) # 출력 : -1
count(내용) 내용이 있는지 찾아서 갯수를 셉니다. print(s.count('ld')) # 출력 : 1

내용 in 문자열 로 문자열안에 내용이 있는지 Ture False를 반환합니다. print('World' in s) # 출력 : True

 

split() 공백을 기준으로 분리해서 리스트에 담습니다 print(u.split()) # 출력 : ['spam' , 'and' , 'ham']

split(내용,횟수)이렇게 몇번 분리할지 어떤 거를 기준으로 분리할지 정할 수 이습니다.

이것은 :를 기준으로 2번 분리한다는 의미입니다. print(s.split(':',2)) # 출력 : ['one', 'two', 'three:four']

strip()을 이용하면 좌우 공백있으면 제거합니다. print(u.strip()) # 출력 : spam and ham

strip(내용)을 이용하면 내용에 해당하는 걸 좌우에 있는 거  없앨 수 있습니다.

print('ㅎㅁㅎㅂ파이썬ㅂㅎㅁ'.strip('ㅎㅁㅂ')) # 출력 : 파이썬

rstrip()을 이용하면 오른쪽 공백만 없앱니다. print(u.rstrip()) # 출력 : spam and ham

replace(바꿀기존내용, 바꿀내용) 바꿀기존내용 바꿀내용으로 바꿉니다.

print(u.replace('spam', 'spam, egg')) # 출력 : spam, egg and ham

'결합할문자'.join(리스트) 리스트를 결합할문자로 문자열로 만들 수 있습니다.

여기에선 :로 묶어서 문자열로 만드는 것이죠 print(':'.join(t)) # 출력 : spam:and:ham

splitlines() 줄바꿈을 기준으로 분리해 리스트로 만듭니다.

print(lines.splitlines()) # 출력 : ['first line', 'second line', 'thrid line']

 

center(글자수) 문자열을 포함 남는 건 공백으로만든 글자수만큼 고려해 중앙정렬 

print(u.center(20)) # 출력 : spam and egg

center(글자수,문자열) 공백이 아니라 다른 문자열로 지정해줄 수 있습니다.

print(u.center(20,'-')) # 출력 : ----spam and egg----

ljust(글자수) 글자수만큼 고려해 왼쪽정렬 print(u.ljust(20)) # 출력 : spam and egg

rjust(글자수) 글자수만큼 고려해 오른쪽 정렬 print(u.rjust(20)) # 출력 : spam and egg

반응형

'파이썬 (추후 수정)' 카테고리의 다른 글

파이썬 논리 연산자, 나머지, 나누기, 몫  (0) 2021.07.18
파이썬 If문  (0) 2021.07.18
파이썬 List(리스트)  (0) 2021.07.17
파이썬 Tuple(튜플)  (0) 2021.07.17
파이썬 Input  (0) 2021.07.17
반응형
L = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(L))  # 출력 : 10
print(L[1])  # 출력 : 1
print(L[-1])  # 출력 : 9
print(L[1: 3])  # 출력 : [1 , 2]
print(L[::2])  # 출력 : [0, 2, 4, 6, 8]
print(L[::-1])  # 출력 : [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(L[:])  # 출력 : [0, 1 , 2 ,3 ,4 ,5 ,6 ,7 ,8 ,9]
L[0:8] = []  # 출력 : [8, 9]
print(L + L)  # 출력 : [8, 9, 8, 9]
print(L * 3)  # 출력 : [8, 9, 8, 9, 8, 9]

L = list(range(10))  # 출력 : [0, 1 , 2 ,3 ,4 ,5 ,6 ,7 ,8 ,9]
print(list(range(5, 15, 2)))  # 출력 : [5, 7, 9, 11, 13]
print(list(range(10, 1, -1)))  # 출력 : [10, 9, 8, 7, 6, 5, 4, 3, 2]

s = [1, 2, 3]
s.append(5)  # 출력 : [1, 2, 3, 5]
s.insert(3, 4)  # 출력 : [1, 2, 3, 4 , 5] 
print(s.index(3))  # 출력 : 2
print(s.count(2))  # 출력 : 1
s.remove(1)  # 출력 : [2, 3, 4, 5]
s.extend([60, 70])  # 출력 : [2, 3, 4, 5, 60, 70]
s.append([5, 6])  # 출력 : [70 , 60, 5, 4, 3, 2, [5,6]]
print(4 in L)  # 출력 : True
del L[0]  # 출력 : [2, 3, 4]


a = ['spam', 'eggs', 100, 1234]
a[2] = a[2] + 23
print(a)  # 출력 : ['spam', 'eggs', 123, 1234]

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(a[1:3][1])  # 출력 : [7,8,9]

L = [k * k for k in range(10)]
print(L)  # 출력 : [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(sum(L))  # 출력 : 285

L = [k * k for k in range(10) if k % 2 == 1]
print(L)  # 출력 : [1, 9, 25, 49, 81]

L = [(i, j, i * j) for i in range(2, 100, 2) for j in range(3, 100, 3) if (i + j) % 7 == 0]
print(L)  # 출력 : [(2, 12, 24), (2, 33, 66) ..

print(list({1: 2, 3: 4, 5: 6}))  # 출력 : 1, 3, 5

리스트파이썬만의 독자적인 자료형으로 배열과 유사한 성격을 지니고 값을 변경할 수 있는 점에서 튜플과 다릅니다.

대괄호[]로 감싸져있는 형태입니다.

 

len(리스트)으로 리스트 내용 개수를 알 수 있습니다. print(len(L)) # 출력 : 10
인덱스로 또한 접근이 가능합니다. print(L[1]) # 출력 : 1
슬라이싱도 또한 가능합니다. print(L[1: 3]) # 출력 : [1 , 2]
튜플과 똑같이 건너뛰면서 인덱스로 접근할 수 있습니다. print(L[::2]) # 출력 : [0, 2, 4, 6, 8]
튜플과 동일하게 슬라이싱으로 역으로 전체를 출력할 수 있습니다. print(L[::-1]) # 출력 : [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
튜플과 동일하게 슬라이싱으로 전체를 출력할 수 있습니다. print(L[:]) # 출력 : [0, 1 , 2 ,3 ,4 ,5 ,6 ,7 ,8 ,9]
값을 없앨 때 슬라이싱을 이용해 없앨 수 있습니다.

여기에선 0 ~ 7(8-1) 인덱스 값을 빈 리스트를 넣기 때문에 삭제되는 것과 동일합니다. L[0:8] = []  # 출력 : [8, 9]

튜플과 동일하게 리스트끼리 더하기가 가능합니다. print(L + L) # [8, 9, 8, 9]
튜플과 동일하게 리스트에 곱하기도 가능합니다. 반복이죠 print(L * 3) # [8, 9, 8, 9, 8, 9]

 

 

list와 range함수를 이용손 쉽게 연속적인 수를 리스트로 만들 수 있습니다.

range함수따로 설정을 안 하면 0부터 시작해서 적힌 수만큼 +1씩하면서 만들어줍니다.

아주 쉽게 이해하는 방법은 0 ~ (10 - 1)만큼 출력된다고 생각하시면 됩니다.

L = list(range(10)) # 출력 : [0, 1 , 2 ,3 ,4 ,5 ,6 ,7 ,8 ,9]

 

3개의 매개변수를 받는 경우 처음에는 시작, , 몇씩 커질지 입니다.

아주 쉽게 이해하는 법은 양수로 커질 때는 5 ~ 14(15 - 1) 까지가 범위라는 겁니다.

print(list(range(5, 15, 2))) # 출력 : [5, 7, 9, 11, 13]

 

음수로 작아질 때10 ~ (1 + 1) 까지가 범위가 됩니다.

print(list(range(10, 1, -1))) # 출력 : [10, 9, 8, 7, 6, 5, 4, 3, 2]

 

 

append(내용)의 경우는 붙히는 느낌입니다. 가장 뒤에 붙게 되죠 s.append(5) # 출력 : [1, 2, 3, 5]
insert(인덱스,내용)몇번째 인덱스내용을 append할지입니다. s.insert(3, 4) # 출력 : [1, 2, 3, 4 , 5]
index(내용) 내용몇번째 인덱스에 처음 나오는지를 알려줍니다. print(s.index(3)) # 출력 : 2
count(내용) 내용리스트안에 몇개 있는지 세어줍니다. print(s.count(2)) # 출력 : 1
remove(내용) 내용삭제합니다. 중복일시 맨 처음 것을 우선적으로 삭제합니다. s.remove(1) # 출력 : [2, 3, 4, 5] 
extend([내용])는 append와 다릅니다. append는 그대로 가져다 붙히지만 extend는 list안에다 넣습니다.

밑에 있는 거하고 비교하시면 이해가 쉬울 겁니다. s.extend([60, 70]) # 출력 : [2, 3, 4, 5, 60, 70]
s.append([5, 6]) # 출력 : [70 , 60, 5, 4, 3, 2, [5,6]]
내용 in 리스트 리스트안 내용있는지 True False를 출력합니다. print(4 in L) # 출력 : True
슬라이싱으로 지우는 법이 있지만 del로 인덱스로 접근해 삭제하는 방법도 있습니다. del L[0] # 출력 : [2, 3, 4]

 

 

리스트는 튜플과 다르게 수정이 가능합니다. a[2] = a[2] + 23 # 출력 : ['spam', 'eggs', 123, 1234]

 

 

리스트안에 리스트가 있을 때안에 값에 접근하는 방법은
일단 큰 리스트에서 인덱스따위로 접근하고 그 안에서 또 인덱스따위로 접근하면 됩니다.

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(a[1:3][1]) # 출력 : [7,8,9]

 

리스트안에 for문으로 값을 손쉽게 넣을수도 있습니다. 여기선 k*k 값이 들어가게 됩니다.

L = [k * k for k in range(10)] # 출력 : [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
리스트의 합을 구할 때는 sum(리스트)를 쓰면 됩니다. print(sum(L)) # 출력 : 285
if문도 또한 넣을 수 있습니다. L = [k * k for k in range(10) if k % 2 == 1] # 출력 : [1, 9, 25, 49, 81]
내용튜플형태로 만들 수도 있습니다.

L = [(i, j, i * j) for i in range(2, 100, 2) for j in range(3, 100, 3) if (i + j) % 7 == 0]

# 출력 : [(2, 12, 24), (2, 33, 66) ..

 

 

사전형을 list으로 형변환할 때는 키만 리스트가 됩니다. print(list({1: 2, 3: 4, 5: 6})) # 출력 : 1, 3, 5

 

 

https://github.com/SungJLee/My_Python_World.git

 

SungJLee/My_Python_World

Contribute to SungJLee/My_Python_World development by creating an account on GitHub.

github.com

 

반응형

'파이썬 (추후 수정)' 카테고리의 다른 글

파이썬 If문  (0) 2021.07.18
파이썬 문자열  (0) 2021.07.17
파이썬 Tuple(튜플)  (0) 2021.07.17
파이썬 Input  (0) 2021.07.17
파이썬 출력해보기 Print  (0) 2021.07.16
반응형
t = (1, 2, 3)
print(t[0]) # 출력 : 1
print(t[-1]) # 출력 : 3
print(t[0:2]) # 출력 : (1, 2)
print(t[::2]) # 출력 : (1, 3)
print(t + t + t) # 출력 : (1, 2 , 3, 1, 2, 3, 1, 2, 3)
print(t * 3) # 출력 : (1, 2 , 3, 1, 2, 3, 1, 2, 3)

a, *b, c = (1, 2, 3, 4)
print(a, b, c) # 출력 : a = 1 , b = (2, 3) , c = 4
data = 1, 2, 3, 4
print(data) # 출력 : data = (1, 2, 3, 4)
a, b, c, d = 'jhon'
print(a, b, c, d) # 출력 : a = j , b = h , c = o  , d = n

# t[10] = 100 # 에러

t = (1, 2, 3, 2, 2, 3)
print(t.count(2)) # 출력 : 3
print(t.index(2)) # 출력 : 1
print(t.index(2 , 1)) # 출력 : 1
print(len(t)) # 출력 : 3
print(3 in t) # 출력 : True

u = t , (1, 2, 3)
print(u) # 출력 : ((1, 2, 3, 2, 2, 3), (1, 2, 3))

x, y = 1, 2
x, y = y, x
print(x, y) # 출력 : 2 1

t = 1, 2 , 'hello' # 출력 : (1, 2, 'hello')
a , *b = t # 출력 : a = 1 , b = [2 , 'hello']
print(a, b)

튜플 파이썬의 독자적인 자료형인데 변경이 불가능하다는 특징과 배열과 비슷한 기능을 합니다.

()로 감싸진 형태입니다.

인덱스로 접근이 가능합니다. print(t[0]) # 출력 : 1

슬라이싱이라고 하는데 0번째 인덱스부터 (2-1)번째 인덱스까지를 나타냅니다. print(t[0:2]) # 출력 : (1, 2)

2칸씩 뛰어넘으면서 인덱스를 가집니다. print(t[::2]) # 출력 : (1, 3)

튜플은 튜플끼리 더하기가능합니다. print(t + t + t) # 출력 : (1, 2 , 3, 1, 2, 3, 1, 2, 3)
튜플은 곱하기가 가능합니다. 반복이라고 하죠 print(t * 3) # 출력 : (1, 2 , 3, 1, 2, 3, 1, 2, 3)

 

 

값은 4개인데 들어갈 곳은 3개이죠? 근데 *를 붙히면 남는 갯수만큼 할당됩니다. 패킹이라고 합니다.

a, *b, c = (1, 2, 3, 4) # 출력 : a = 1 , b = (2, 3) , c = 4
패킹이 아닐 경우 이렇게 하나씩 잘 갯수만큼 할당됩니다.

그러면 a, b, c , d = 1234이면 1 2 3 4 로 할당 되나요?라고 물어보신다면 아닙니다.

jhon은 인덱스로 구분이 가능문자열이기 때문에 가능합니다.

a, b, c, d = 'jhon' # 출력 : a = j , b = h , c = o , d = n

 

t[10] = 100의 경우 데이터 값을 변경 할 수 없는 튜플 특징 때문에 에러가 납니다.

 

count(내용)이라는 함수를 통해 내용의 갯수가 몇개인지 셀 수 있습니다. print(t.count(2)) # 출력 : 3
index(내용)을 통해 내용이 처음으로 나오는 인덱스를 찾을 수 있습니다. print(t.index(2)) # 출력 : 1
또한 초기 탐색 인덱스를 지정할 수 있습니다. 여기에선 인덱스 1부터입니다.  print(t.index(2 , 1)) # 출력 : 1
len 함수를 통해서 튜플안 내용들의 갯수를 셉니다. print(len(t)) # 출력 : 3

내용 in 튜플 을 이용해서 튜플안에 내용이 있는지 True False를 출력합니다. print(3 in t) # 출력 : True

 

튜플끼리 콤마로 연결 되면 전체가 튜플로 감싸집니다. u = t , (1, 2, 3) # 출력 :  ((1, 2, 3, 2, 2, 3), (1, 2, 3))

 

스와핑도 가능합니다. x, y = y, x # 출력 : 2 1

 

https://github.com/SungJLee/My_Python_World.git

 

SungJLee/My_Python_World

Contribute to SungJLee/My_Python_World development by creating an account on GitHub.

github.com

 

반응형

'파이썬 (추후 수정)' 카테고리의 다른 글

파이썬 문자열  (0) 2021.07.17
파이썬 List(리스트)  (0) 2021.07.17
파이썬 Input  (0) 2021.07.17
파이썬 출력해보기 Print  (0) 2021.07.16
[Python] 파이썬 특징  (0) 2021.07.16
반응형
name = input('name?')
print(name) # 출력 : 월월이

k = int(input('int : '))

직접 타이핑 쳐서 즉각 입력받기 위해서는 input이라는 함수를 써야합니다.

input(내용)을 하면 내용이 나오고 그 뒤에 입력하시면 됩니다. 위에 상황을 대입하자면

name? 입력할 내용 적기

이런식으로 나오게 된다는 말입니다.

 

input에 대한 입력은 문자열이기 때문에 숫자를 받기위해서는 int형변환을 해야합니다.
그래서 123이라고 적으면 int형으로 형변환 돼서 k에 123이라는 int형이 저장됩니다.

 

https://github.com/SungJLee/My_Python_World.git

 

SungJLee/My_Python_World

Contribute to SungJLee/My_Python_World development by creating an account on GitHub.

github.com

 

반응형

'파이썬 (추후 수정)' 카테고리의 다른 글

파이썬 문자열  (0) 2021.07.17
파이썬 List(리스트)  (0) 2021.07.17
파이썬 Tuple(튜플)  (0) 2021.07.17
파이썬 출력해보기 Print  (0) 2021.07.16
[Python] 파이썬 특징  (0) 2021.07.16
반응형
print(4,"Hello World","Hi",sep=",",end = "...") # sep = ‘’ 일시 띄어쓰기 없음
# 출력 : 4 , Hello World , Hi...3.14
print(3.14)
# 출력 :
print("hello",50)
# 출력 : hello 50
print("a = %d, b = %f, c = %s" %(10,3.14,"Hello"))
# 츌력 : a = 10 , b = 3.140000 , c = Hello

파이썬은 출력함수가 print입니다.

print(내용) 이면 다 출력됩니다.

파이썬은 세미콜론을 안 붙혀도 됩니다.

콤마를 이용해 여러개 내용을 출력할 수 있습니다.

%d %f %s해당하는%(10, 3.14, "Hello")넣어줄 수 있습니다.

(sep은 내용들이 있으면 내용 사이 간격에 뭘 넣을지입니다.  end는 끝에 무엇을 붙힐지 입니다)

반응형

'파이썬 (추후 수정)' 카테고리의 다른 글

파이썬 문자열  (0) 2021.07.17
파이썬 List(리스트)  (0) 2021.07.17
파이썬 Tuple(튜플)  (0) 2021.07.17
파이썬 Input  (0) 2021.07.17
[Python] 파이썬 특징  (0) 2021.07.16
반응형

파이썬 특징

  • 동적자료형을 지원한다자료형 선언 안 해도 알아서 판단합니다 , 크기 선언도 필요 없습니다
  • 이식성이 좋다 → 어떤 OS에도 사용이 가능하다
  • 메모리 자동 관리쓰레기수집(Garbage Collection)을 이용해 메모리 자동 할당 후 끝나면 자동해제
  • 문법이 쉽고 AI개발시 많이 활용

 

반응형

'파이썬 (추후 수정)' 카테고리의 다른 글

파이썬 문자열  (0) 2021.07.17
파이썬 List(리스트)  (0) 2021.07.17
파이썬 Tuple(튜플)  (0) 2021.07.17
파이썬 Input  (0) 2021.07.17
파이썬 출력해보기 Print  (0) 2021.07.16