お勉強Wiki続き
Pythonのお勉強の問題集より。
16進数ダンプ
fp = file(raw_input(), 'rb')
buf = fp.read()
fp.close()
count = 0
data = ''
for c in buf:
if count % 16 == 0:
print data
data = ''
print '%010X |' % count,
print '%02X' % ord(c),
if c.isspace():
c = ' '
elif not c.isalnum():
c = '.'
data += c
count += 1
while count % 16 != 0:
print ' ',
count += 1
print data
リストA,Bそれぞれから1つづつ取ってきたリストを簡単に生成する
lista = ['AA', 'AB', 'AC']
listb = ['BA', 'BB', 'BC']
newlist = []
for a in lista:
for b in listb:
newlist.append((a,b))
print newlist
リスト内包表記で簡潔に
lista = ['AA', 'AB', 'AC'] listb = ['BA', 'BB', 'BC'] newlist = [(a, b) for a in lista for b in listb] print newlist
リスト〜から、辞書〜を簡単に生成する
lst = [['Py','PyA'],['Py','PyB'],['Py','PyC'],['Pe','PeA'],['Pe','PeC']]
dct = {}
for el in lst:
dct.setdefault(el[0], []).append(el[1])
print dct
n個の空リストを要素とするリストを簡単に生成する。
n = 3
lst =[]
for i in range(n):
lst.append([])
print lst
リスト内包表記で簡潔に
n = 3 lst = [[] for i in range(n)] print lst