# list를 이용한 반복문
items = ['a', 'b', 'c']
for item in items:
print(item)
# range를 이용한 반복문
for num in range(10):
print(num)
word = 'superman'
word[3] # 'e'
word[-2] # 'a'
word[5:] # 'man'
word[:5] # 'super'
word = 'python'
word.startswith('py') #True
word.startswith('sa') #False
intro = 'my name is beomjin'
intro.split() # ['my', 'name', 'is', 'beomjin']
fruits = '사과,귤,배,바나나'
fruits.split(',') # ['사과', '귤', '배', '바나나']
numbers = []
numbers.append(1)
print(numbers) # [1]
numbers.appned(2)
print(numbers) # [1, 2]
intro = 'my name is beomjin'
intro.upper() # 'MY NAME IS BEOMJIN'
intro.lower() # 'my name is beomjin'
intro = 'my name is beomjin'
intro.replace('beomjin', 'kim') # 'my name is kim'
words = ['life', 'love', 'faith']
first_letters = []
for word in words:
first_letters.append(word[0])
first_letters = [word[0] for word in words]
for문과 list comprehension문은 동일한 결과를 가져온다.
numbers = [1, 3, 4, 5, 6, 7]
even = []
for n in numbers:
if n % 2 == 0:
even.append(n)
even = [n for in numbers if n % 2 == 0]
if문과 함께 사용하는 것도 가능하다.
numbers = [-1, 3, -4, 5, 6, 100]
sort_by_abs = sorted(number, key=abs) # [-1, 3, -4, 5, 6, 100]
key에 정렬에 이용할 함수를 넣어준다. 내장 함수 뿐만 아니라 사용자 생성 함수도 이용가능하다.
set1 = {1, 2, 3}
set2 = set([1, 2, 3])
set3 = {1, 1, 2, 3, 3}
num_set = {1, 3, 5, 7}
num_set.add(9) # {1, 3, 5, 7, 9}
num_set.update([3,15,4]) # {1, 3, 4, 5, 7, 9, 15}
num_set.remove(7) # {1, 3, 4, 5, 9, 15}
num_set.discard(13) # {1, 3, 4, 5, 9, 15}
discard는 remove와 달리 없는 원소에 대해서 삭제할 때 에러를 내지 않는다. (무시됨)
union = set1 | set2
intersection = set1 & set 2
diff = set1 - set2
xor = set1 ^ set2
def square(x):
return x * x
square = lambda x: x * x
def get_title(row):
split = row.split(',')
return split[1]
get_title = lambda row: row.split(',)[1]
get_title = lambda row: row.split(',)[1]
titles = map(get_title, movies)
리스트와 유사하기는 하지만 리스트가 아닌 map이라는 타입을 가진다.
def starts_with_r(word):
return word.startswith('r')
r_word = filter(starts_with_r, words)
첫번째 인자로 들어오는 함수에서 True를 반환하는 요소만 반환