はじめてのPython(5)

リストの使い方

#coding: UTF-8

#リストの使い方

list = ["test","test2",3,4]

print list[0] #test
print list[1] #test2
print str(list[2])#3
print str(list[3])#4

#スライスを使った参照
print "[1:2] " , list[1:2] #['test2']
print "[1:-1] ", list[1:-1] #['test2', 3]

#リスト要素の更新
list[0] = 1
print list #[1, 'test2', 3, 4]

#要素数が同じ必要でなく
#拡張することができる
list[1:2] = ["update1","update2"]
print list #[1, 'update1', 'update2', 3, 4]

#リストのサイズ取得
print "ListSize=" + str(len(list)) #5

#リストにオブジェクトを追加
list = ["A", "B", "C"]
list.append("D")
print list #['A','B','C','D']

#リストに別のリストを追加
list2 = ["E","F"]
list.extend(list2)
print list #['A','B','C','D','E','F']

#リストを連結
newlist = list + list2
print newlist #['A','B','C','D','E','F','E','F']

#複数回繰り返してリスト追加
list = ["1","2","3"]
newlist = list * 3
print newlist #['1','2','3','1','2','3','1','2','3',]

#オブジェクトの挿入(listObject.insert(index, object))
list = ["A","B","D"]
list.insert(2,"C")
print list #["A","B","C","D"]

#オブジェクトの削除
list = ["A","B","C","D"]
del list[1]
print list #["A","C","D"]

del list[:2]
print list #['D']

#インデックスの要素を削除
list = ["A","B","C","D"]

list.pop(1)
print list #['A','C','D']

list.pop() #末尾が削除
print list #['A','C']

#指定される要素を持つ要素を削除
list = ["A","B","C","B","A"]

list.remove("B") #同じ要素がある場合、先頭に近い要素を削除
print list #['A','C','B','A']

#スライスを使った要素操作
list = ["A","B","C"]

list[len(list):] = "D" #末尾に追加
print list #["A","B","C","D"]

list[1:1] = "a"
print list #["A","a","B","C","D"]

list[1:3] = [] #空リストを表す[]を代入することで、削除
print list #["A","C","D"]


#指定した要素を持つ以下どうか
#object in ListObject
list = ["A","B","C"]
print "B" in list #True
print "D" in list #False
print "B" not in list #False
print "D" not in list #True

#指定した値を持つ要素のインデックス
#(値が無い場合ValueErrorが発生
print list.index("B") #1

#指定した値を持つ要素の数
list.append("B")
print list.count("B") #2

#リストの要素を並び変える
list = ["B","D","A","C"]
list.sort()
print list # A,B,C,D

list.reverse() #逆順
print list # D,C,B,A

#連続した数値の要素を持つリストの作成
#range([start,] stop[, step])
list = range(5)
print list #[0,1,2,3,4]

list = range(2,5)
print list #[2,3,4]

list = range(1, 6, 2) #step 2
print list #[1,3,5]

list = range(0,-5,-2)
print list #[0,-2,-4]


#シーケンス型がらリスト作成(list関数)
l = list("ABC")
print l

l = list((20,18))
print l

#複数のリストを複合し新しいリストを作成
list1 = ["A", "B", "C"]
list2 = [10,20,30,40]

listA = zip(list1,list2)
print listA #[("A",10),("B",20),("C",30)] 要素数は要素数の少ないリストにあわせる