データ操作
リストからタプルへ
l = [1, 2, 3]
t = tuple(l)
print t
タプルからリストへ
t = (1, 2, 3)
l = list(t)
print l
タプルからリストへ
l = (1, 2, 3)
n = [ ll for ll in l]
print n
タプル
a = (1, 2, 3)
a1, a2, a3 = a
print a1
print a2
print a3
リスト
list = [1, 2, 3, 4, 5, 6, 7]
for item in list:
if item % 3 == 0:
list.remove(item)
print list
- 課題:リストのサイズが大きくなった場合削除に時間がかかるか?
リストに含まれるか
list = [1, 2, 3, 4, 5, 6, 7]
x = 5
if x in list:
print '%d exists' % x
list = [[1, 2], [3, 4], [5, 6]]
x = [3, 4]
if x in list:
print '[%d, %d] exists' % (x[0], x[1])
タプルに含まれるか
x = 3
list2 = (1, 2, 3, 4, 5, 6, 7)
if x in list:
print '%d exists' % x
x = (3, 4)
list3 = ((1, 2), (3, 4), (5, 6))
if x in list3:
print '(%d, %d) exists' % x
繰り返し動作
def catstr(x, y):
return x + y
seq1 = ['a', 'b', 'c']
seq2 = ['1', '2', '3']
print map(catstr, seq1, seq2)
辞書の表示
a = {'k1':100, 'k2':101, 'k3':102}
for k in a:
print k, a[k]
データの連結
s1 = 'sssssssss1'
s2 = 'sssssssss2'
s3 = 'sssssssss3'
s4 = 'sssssssss4'
l = [s1, s2, s3, s4]
print ''.join(l)
バッファ
s = '123456789abcdefgh'
x = buffer(s, 6, 2)
ss = str(x)
print ss
- 長いデータの一部を取り出したり、見たりするときに便利。
バイナリデータを扱う
packet = struct.pack("!HH", 500, 1)
(l, x) = struct.unpack("!HH", packet[0:4])
print l, x
データの表示
キュー
import Queue
q = Queue.Queue()
for n in range(5):
q.put('message '+ str(n))
while not q.empty():
print q.get()