In [2]:
eng2sp = dict()

In [3]:
eng2sp['one'] = 'uno'

In [4]:
eng2sp


Out[4]:
{'one': 'uno'}

In [5]:
len(eng2sp)


Out[5]:
1

In [14]:
eng2sp[dict()] = 'c'


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-14-ce0eee8dde01> in <module>()
----> 1 eng2sp[dict()] = 'c'

TypeError: unhashable type: 'dict'

In [9]:
eng2sp


Out[9]:
{'one': 'uno', '{"a":"b"}': 'c'}

In [13]:
di = {'a':'b', eng2sp:'c'}


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-13-6abe885fa5f6> in <module>()
----> 1 di = {'a':'b', eng2sp:'c'}

TypeError: unhashable type: 'dict'

In [11]:
di


Out[11]:
{'a': 'b'}

In [16]:
eng2sp.values()


Out[16]:
dict_values(['uno', 'c'])

In [17]:
def histogram(s):
    d = dict()
    for c in s:
        if c not in d:
            d[c] = 1
        else:
            d[c] += 1
    return d

In [18]:
print(histogram('abcbdbfedfbcdbcncbd'))


{'e': 1, 'b': 6, 'c': 4, 'd': 4, 'a': 1, 'n': 1, 'f': 2}

In [20]:
def word_count(s):
    d = dict()
    l = s.split(' ')
    for w in l:
        if w not in d:
            d[w] = 1
        else:
            d[w] += 1
    return d

In [21]:
print(word_count('school is school'))


{'is': 1, 'school': 2}

In [22]:
h = histogram('a')

In [23]:
h


Out[23]:
{'a': 1}

In [28]:
h.get('b',0)


Out[28]:
0

In [29]:
print(h.get('b'))


None

In [32]:
def histogram2(s):
    d = {}
    for c in s:
        d[c] = d.get(c,0) + 1
    return d

In [33]:
print(histogram2('abbc'))


{'a': 1, 'b': 2, 'c': 1}

In [34]:
def print_hist(h):
    for c in h:
        print(c, h[c])

In [35]:
print_hist(histogram2('aabbcc'))


a 2
b 2
c 2

In [36]:
sorted([3,2,1])


Out[36]:
[1, 2, 3]

In [37]:
sorted({'c':1, 'b':2, 'a':3})


Out[37]:
['a', 'b', 'c']

In [38]:
def print_hist2(h):
    for c in sorted(h):
        print(c, h[c])

In [40]:
print_hist2(histogram2('ccbbaa'))


a 2
b 2
c 2

In [41]:
bool(0)


Out[41]:
False

In [42]:
bool(1)


Out[42]:
True

In [43]:
bool([])


Out[43]:
False

In [45]:
bool([1])


Out[45]:
True

In [46]:
any([1,2,3])


Out[46]:
True

In [47]:
any([0,1,2])


Out[47]:
True

In [48]:
all([0,1,2])


Out[48]:
False

In [49]:
all([1,2,3])


Out[49]:
True

In [50]:
all([]) #특이사항


Out[50]:
True

In [55]:
def reverse_lookup(d, v):
    for k in d:
        if d[k] == v:
            return k
    raise LookupError('찾는 키값이 없습니다.')

In [56]:
d = {'a':1, 'b':2, 'c':1}

In [57]:
reverse_lookup(d, 1)


Out[57]:
'a'

In [58]:
reverse_lookup(d, 10)


---------------------------------------------------------------------------
LookupError                               Traceback (most recent call last)
<ipython-input-58-7e5b3cb25d95> in <module>()
----> 1 reverse_lookup(d, 10)

<ipython-input-55-bc3e9f2c7f4e> in reverse_lookup(d, v)
      3         if d[k] == v:
      4             return k
----> 5     raise LookupError('찾는 키값이 없습니다.')

LookupError: 찾는 키값이 없습니다.

In [59]:
def invert_dict(d):
    inverse = {}
    for key in d:
        val = d[key]
        if val not in inverse:
            inverse[val] = [key]
        else:
            inverse[val].append(key)
    return inverse

In [60]:
invert_dict(histogram('aabbbbbccdadfadfa'))


Out[60]:
{2: ['c', 'f'], 3: ['d'], 5: ['a', 'b']}

In [61]:
(1,2)


Out[61]:
(1, 2)

In [62]:
{(1,2):'a'}


Out[62]:
{(1, 2): 'a'}

In [100]:
know = {0:0, 1:0}
def new_fibo(n):
    global know
    if n in know:
        return int(know[n])
    
    know[n] = (new_fibo(n-2) + new_fibo(n-1))

In [101]:
new_fibo(20)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-101-0354c7bd9fe0> in <module>()
----> 1 new_fibo(20)

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

<ipython-input-100-d01e973b241c> in new_fibo(n)
      5         return int(know[n])
      6 
----> 7     know[n] = (new_fibo(n-2) + new_fibo(n-1))
      8 

TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'

In [72]:
def fibo(n):
    if n in [0,1]:
        return 1
    return fibo(n-1) + fibo(n-2)

In [73]:
fibo(3)


Out[73]:
3

In [74]:
fibo(5)


Out[74]:
8

In [102]:
for i in range(10):
    print(fibo(i))


1
1
2
3
5
8
13
21
34
55

In [106]:
%pprint


Pretty printing has been turned ON

In [109]:
pprint([1,2,3])


Pretty printing has been turned OFF

In [110]:
import pprint as pp

In [111]:
pp.pprint("d")


'd'

In [112]:
invert_dict(histogram('aabbbbbccdadfadfa'))


Out[112]:
{2: ['c', 'f'], 3: ['d'], 5: ['a', 'b']}

In [113]:
pp.pprint(invert_dict(histogram('aabbbbbccdadfadfa')))


{2: ['c', 'f'], 3: ['d'], 5: ['a', 'b']}

In [114]:
a = { 'result': True, 'records': [ { 'id': 1, 'value': 'First Value' }, { 'id': 2, 'value': 'Second Value' } ], 'count': 2 }

In [115]:
a


Out[115]:
{'result': True, 'count': 2, 'records': [{'value': 'First Value', 'id': 1}, {'value': 'Second Value', 'id': 2}]}

In [116]:
pp.pprint(a)


{'count': 2,
 'records': [{'id': 1, 'value': 'First Value'},
             {'id': 2, 'value': 'Second Value'}],
 'result': True}

In [119]:
(1,2) < (3,4)


Out[119]:
True

In [120]:
(3,4) < (1,2,3,4,5,6)


Out[120]:
False

In [121]:
[1,2] < [3,4]


Out[121]:
True

In [122]:
[3,4] < [1,2]


Out[122]:
False

In [126]:
(1,[3,20,3]) < (1,[3,4,5])


Out[126]:
False

In [127]:
"a,b,c".split(',')


Out[127]:
['a', 'b', 'c']

In [128]:
t = (7,3)

In [129]:
divmod(t)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-129-7ca171f61654> in <module>()
----> 1 divmod(t)

TypeError: divmod expected 2 arguments, got 1

In [130]:
divmod(*t)


Out[130]:
(2, 1)

In [131]:
def sumall(*args):
    return sum(list(args))

In [132]:
sumall(1,2,3)


Out[132]:
6

In [133]:
sumall(4,5,6,7)


Out[133]:
22

In [134]:
sum(1,2,3)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-134-81001a733aec> in <module>()
----> 1 sum(1,2,3)

TypeError: sum expected at most 2 arguments, got 3

In [135]:
sumall(*t)


Out[135]:
10

In [152]:
l1 = [1,2,3]
l2 = [4,5,6]
l3 = [7,8,9]

In [153]:
list(zip(l1,l2,l3))


Out[153]:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

In [154]:
d = {'a':0,'b':1}

In [155]:
for key, value in d.items():
    print(key, value)


a 0
b 1

In [158]:
dict(zip('abc', range(3)))


Out[158]:
{'a': 0, 'b': 1, 'c': 2}

In [162]:
from structshape import structshape


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-162-bc7871df7613> in <module>()
----> 1 from structshape import structshape

ImportError: No module named 'structshape'

In [163]:
's--s'.split('-')


Out[163]:
['s', '', 's']

In [164]:
's-'.split('-')


Out[164]:
['s', '']

In [168]:
%%javascript

var a = [1,2,3,4,5]
a.length



In [ ]: