목차
list
lst = []
lst = list()
같은 방식으로 생성
extend
lst1 = [1, 5, 1]
lst2 = ['Hello', 'Python', 0.999]
lst1.extend(lst2)
print(lst1)

list comprehension
lst = []
for i in range(10):
if i % 2 == 0:
lst.append(i)
lst = [i for i in range(10) if i % 2 == 0]
>> [0, 2, 4, 6, 8]
matrix = [[j for j in range(3)] for i in range(4)]
print(matrix)
>> [[0, 0, 0], [0, 1, 2], [0, 2, 4], [0, 3, 6]]
matrix = []
for i in range(4):
row = []
for j in range(3):
row.append(i * j)
matrix.append(row)
---------------------------
matrix = [i*j for j in range(3) for i in range(4)]
print(matrix)
>> [0, 0, 0, 0, 0, 1, 2, 3, 0, 2, 4, 6]
matrix = []
for j in range(3):
for i in range(4):
matrix.append(i * j)
print(matrix)
tuple
t = ()
t = tuple()
방식으로 생성
튜플을 변경하는 것은 불가능 (ex. t[0] = 10 (X))
set
set1 = set()
방식으로 생성
dictionary
vocab = {}
vocab = dict()
방식으로 생성
예시
vocab= {}
vocab['apple'] = '사과'
vocab['ball'] = '공'
vocab['cat'] = '고양이'
print(vocab)
{'apple': '사과', 'ball': '공', 'cat': '고양이'}
dict comprehension1
keys = ['a', 'b', 'c', 'd', 'e']
values = [1,2,3,4,5]
myDict = {k:v for (k,v) in zip(keys, values)}
myDict2 = dict(zip(keys,values))
print(myDict)
print(myDict2)
>> {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
>> {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
dict comprehension2
myDict = {x: x**2 for x in [1,2,3,4,5]}
myDict2 = {x.upper(): x*3 for x in 'python'}
print(myDict)
print(myDict2)
>> {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
>> {'P': 'ppp', 'Y': 'yyy', 'T': 'ttt', 'H': 'hhh', 'O': 'ooo', 'N': 'nnn'}
dict comprehension2
l = "GFG"
dic = {x: {y: x+y for y in l} for x in l}
print(dic)
>> {'G': {'G': 'GG', 'F': 'GF'}, 'F': {'G': 'FG', 'F': 'FF'}}
sort & sorted
mylist = [["co", 1, "Q"], ["bar", 0 ,"Z"], ["after", 3 ,"X"], ["data", 2, "y"]]
print(sorted(mylist, key=lambda x:x[1]))
>> [['bar', 0, 'Z'], ['co', 1, 'Q'], ['data', 2, 'y'], ['after', 3, 'X']]
print(sorted(mylist, key=lambda x:len(x[0])))
>> [['co', 1, 'Q'], ['bar', 0, 'Z'], ['data', 2, 'y'], ['after', 3, 'X']]
lambda
예시1
filter_nums = lambda s: ''.join([ch for ch in s if not ch.isdigit()])
print("filter_nums():", filter_nums("Geeks101"))
>> filter_nums(): Geeks
do_exclaim = lambda s: s + '!'
print("do_exclaim():", do_exclaim("Python is fun"))
>> do_exclaim(): Python is fun!
find_sum = lambda n: sum([int(x) for x in str(n)])
print("find_sum():", find_sum(1051))
>> find_sum(): 7
예시2
l = ["1", "2", "9", "0", "-1", "-2"]
# (1) sort list[str] numerically using sorted
sorted_list = sorted(l, key=lambda x: int(x))
sorted_list = sorted(l, key=int)
# (2) filter positive even numbers
positive_even = list(filter(lambda num: int(num) > 0 and int(num) % 2 == 0, sorted_list))
# [num for num in sorted_list if int(num) > 0 and int(num) % 2 == 0]
# (3) added 10 to each item after type and
# casting to int, then convert items to string again
result = list(map(lambda num: str(int(num) + 10), positive_even))
result = [str(int(num) + 10) for num in positive_even]
list
lst = []
lst = list()
같은 방식으로 생성
extend
lst1 = [1, 5, 1]
lst2 = ['Hello', 'Python', 0.999]
lst1.extend(lst2)
print(lst1)

list comprehension
lst = []
for i in range(10):
if i % 2 == 0:
lst.append(i)
lst = [i for i in range(10) if i % 2 == 0]
>> [0, 2, 4, 6, 8]
matrix = [[j for j in range(3)] for i in range(4)]
print(matrix)
>> [[0, 0, 0], [0, 1, 2], [0, 2, 4], [0, 3, 6]]
matrix = []
for i in range(4):
row = []
for j in range(3):
row.append(i * j)
matrix.append(row)
---------------------------
matrix = [i*j for j in range(3) for i in range(4)]
print(matrix)
>> [0, 0, 0, 0, 0, 1, 2, 3, 0, 2, 4, 6]
matrix = []
for j in range(3):
for i in range(4):
matrix.append(i * j)
print(matrix)
tuple
t = ()
t = tuple()
방식으로 생성
튜플을 변경하는 것은 불가능 (ex. t[0] = 10 (X))
set
set1 = set()
방식으로 생성
dictionary
vocab = {}
vocab = dict()
방식으로 생성
예시
vocab= {}
vocab['apple'] = '사과'
vocab['ball'] = '공'
vocab['cat'] = '고양이'
print(vocab)
{'apple': '사과', 'ball': '공', 'cat': '고양이'}
dict comprehension1
keys = ['a', 'b', 'c', 'd', 'e']
values = [1,2,3,4,5]
myDict = {k:v for (k,v) in zip(keys, values)}
myDict2 = dict(zip(keys,values))
print(myDict)
print(myDict2)
>> {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
>> {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
dict comprehension2
myDict = {x: x**2 for x in [1,2,3,4,5]}
myDict2 = {x.upper(): x*3 for x in 'python'}
print(myDict)
print(myDict2)
>> {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
>> {'P': 'ppp', 'Y': 'yyy', 'T': 'ttt', 'H': 'hhh', 'O': 'ooo', 'N': 'nnn'}
dict comprehension2
l = "GFG"
dic = {x: {y: x+y for y in l} for x in l}
print(dic)
>> {'G': {'G': 'GG', 'F': 'GF'}, 'F': {'G': 'FG', 'F': 'FF'}}
sort & sorted
mylist = [["co", 1, "Q"], ["bar", 0 ,"Z"], ["after", 3 ,"X"], ["data", 2, "y"]]
print(sorted(mylist, key=lambda x:x[1]))
>> [['bar', 0, 'Z'], ['co', 1, 'Q'], ['data', 2, 'y'], ['after', 3, 'X']]
print(sorted(mylist, key=lambda x:len(x[0])))
>> [['co', 1, 'Q'], ['bar', 0, 'Z'], ['data', 2, 'y'], ['after', 3, 'X']]
lambda
예시1
filter_nums = lambda s: ''.join([ch for ch in s if not ch.isdigit()])
print("filter_nums():", filter_nums("Geeks101"))
>> filter_nums(): Geeks
do_exclaim = lambda s: s + '!'
print("do_exclaim():", do_exclaim("Python is fun"))
>> do_exclaim(): Python is fun!
find_sum = lambda n: sum([int(x) for x in str(n)])
print("find_sum():", find_sum(1051))
>> find_sum(): 7
예시2
l = ["1", "2", "9", "0", "-1", "-2"]
# (1) sort list[str] numerically using sorted
sorted_list = sorted(l, key=lambda x: int(x))
sorted_list = sorted(l, key=int)
# (2) filter positive even numbers
positive_even = list(filter(lambda num: int(num) > 0 and int(num) % 2 == 0, sorted_list))
# [num for num in sorted_list if int(num) > 0 and int(num) % 2 == 0]
# (3) added 10 to each item after type and
# casting to int, then convert items to string again
result = list(map(lambda num: str(int(num) + 10), positive_even))
result = [str(int(num) + 10) for num in positive_even]