프리렉 - FREELEC
http://freelec.co.kr/book/catalogue_view.asp?UID=134
이강성저
def frange(arg1, *args):
if len(args) == 0:
start, stop, step = 0.0, float(arg1), 1.0
elif len(args) == 1:
start, stop, step = float(arg1), float(args[0]), 1.0
elif len(args) == 2:
start, stop, step = float(arg1), float(args[0]), float(args[1])
L = []
v = start
if step > 0:
while v < stop:
L.append(v)
v += step
elif step < 0:
while v > stop:
L.append(v)
v += step
return L
frange(10)
frange(1, 5)
frange(1, 3, 0.3)
frange(10, 0, -1)
frange(5, 0, -0.5)
def adder(a, b):
assert(a in (0,1)) # 0, 1 값만 허용
assert(b in (0,1))
c = a + b
return (c & 0x02) >> 1, c & 0x01
adder(0,0)
adder(0,1)
adder(1,1)
adder(2,3)
# 방법 1
def mysum(*args):
return sum(args)
# 방법 2
def mysum(*args):
s = 0.0
for ele in args:
s += ele
return s
mysum()
mysum(1,2,3)
fnames = ['a_thumb.jpg', 'b01_thumb.jpg', 'S100_thumb.jpg', 'S100.jpg', 'b01.jpg']
list(filter(lambda s: '_thumb' in s, fnames))
list(filter(lambda s: '_thumb' not in s, fnames))
s = 'as soon as possible'
''.join(map(lambda s:s[0], s.split()))
%%writefile data.txt
1 2 3
4 5 6
7 8 9
with open('data.txt') as f:
L = list(map(lambda s: s.split(), f))
L # 리스트 안의 값들이 문자열이다.
with open('data.txt') as f:
L = list(map(lambda s: list(map(int, s.split())), f))
L # 내부에서 한 번 더 map을 적용하여 정수로 바꾼 결과
x, y, z = L
x
def fact(n):
if n < 2: return 1
return n * fact(n-1)
fact(10)
def change_values(L, from_s, to_s):
for k, ele in enumerate(L):
if ele == from_s:
L[k] = to_s
elif type(ele) == list:
change_values(ele, from_s, to_s)
return L
L = [3, 2, [3, [[3], 4]]]
change_values(L, 3, 5)