ページへ戻る
印刷
Python/リスト
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/リスト をテンプレートにして作成
開始行:
Pythonのリストは他の言語で言うところの配列と同じような物...
ここではリストを使う上での基本的なことについて解説します。
タプルとの違いについては、「[[Python/リストとタプル]]」を...
*リストの初期化
l = [1,2,3,4,5]
のように定義すると、例えば
for i in l:
print i
結果
1
2
3
4
5
のようにしてループすることができます。
リストの初期化は上記のように実際の値を入れることもできま...
l = []
のように空のリストを作ることもできます。また全て同じ要素...
l = [0] * 10
のようにも書けます。2つの要素の繰り返しなら、
l = [0,1] * 10
と書く事も可能です。
C言語などとは異なり、型が異なっていても同一のリストに格納...
l = [1,"2",u"3"]
for i in l:
print type(i)
結果
<type 'int'>
<type 'str'>
<type 'unicode'>
ただし、あまりいろいろな型を入れると管理が大変になること...
*よく使う機能
**要素へのアクセスと切り出し
リストの要素へのアクセスは「[]」を使います。一つの要素の...
l = [1,2,3,4]
print l[0]
print l[0:2]
print l[-1]
結果
1
[1, 2]
4
**要素の追加
最後に追加するときは「append」を使います。
l = [1,2,3]
l.append(4)
print l
結果
[1, 2, 3, 4]
好きな場所に追加するときは「insert」を使います。第一引数...
l = [1,2,3]
l.insert(1,10)
print l
結果
[1, 10, 2, 3]
**要素の削除
単純に削除するなら「del」を使います。
l = [1,2,3]
del l[2]
print l
結果
[1, 2]
「:」を使うと二つ以上同時に消す事も可能です。
l = [1,2,3]
del l[0:2]
print l
結果
[3]
実際には、単に消すだけではなく、消した要素を取り出したい...
引数にインデックスを指定するとその要素が、指定しなければ...
l = [1,2,3]
d = l.pop()
print l,d
結果
[1, 2] 3
これとappend、insertを組み合わせて使うと先入先出、後入先...
**リストの長さ
リストの要素数、またはよく長さと呼ばれる物は、「len」関数...
l = [1,2,3,4]
print len(l)
結果
4
**ループ
リストの要素についてループするのは以下のようにします。
l = [1,2,3]
for i in l:
print i
結果
1
2
3
インデックスも一緒に取得する場合は「enumerate」を使います
l = [1,2,3]
for i,d in enumerate(l):
print i,d
0 1
1 2
2 3
他の言語を知っていると、
for i in range(len(l)):
print l,l[i]
のように書きたくなりますが、enumerateの方がすっきりします。
**リストのコピー
リストをコピーするには、「list」を使います。
l = [1,2,3]
l_copy = list(l)
print l_copy
結果
[1, 2, 3]
ただし、要素がリストやクラスのインスタンスなどの時には、...
**リストの並べ替え
昇順に並べ替えるなら「sort」を使います。
sortは元のリストを変更します。
l = [2,1,3]
l.sort()
print l
結果
[1, 2, 3]
元のリストを変更せずに新しい並べ替えられたリストがほしい...
l = [2,1,3]
l_sorted = sorted(l)
print l
print l_sorted
結果
[2, 1, 3]
[1, 2, 3]
sort、sorted関数共に逆順にするなら「reverse=True」を引数...
l = [2,1,3]
l.sort(reverse=True)
print l
結果
[3, 2, 1]
「cmp」引数に関数を指定することで複雑なルールの並べ替えも...
関数は2つの引数をとり、実際に並べ替えを行う時にはここに要...
その戻り値が正なら最初の引数の要素が大きいと判断して昇順...
以下の例では文字列の2文字目を整数にした場合の昇順に並べ替...
l = ["123","514","792"]
l.sort(cmp = lambda x,y : int(x[1]) - int(y[2]) )
print l
結果
['514', '123', '792']
ラムダ式については「[[Python/ラムダ式]]」も参照してくださ...
**その他
要素の検索、変換などより高度な話題については「[[Python/リ...
他にもリストに関わる機能はとてもたくさんありますが、長く...
終了行:
Pythonのリストは他の言語で言うところの配列と同じような物...
ここではリストを使う上での基本的なことについて解説します。
タプルとの違いについては、「[[Python/リストとタプル]]」を...
*リストの初期化
l = [1,2,3,4,5]
のように定義すると、例えば
for i in l:
print i
結果
1
2
3
4
5
のようにしてループすることができます。
リストの初期化は上記のように実際の値を入れることもできま...
l = []
のように空のリストを作ることもできます。また全て同じ要素...
l = [0] * 10
のようにも書けます。2つの要素の繰り返しなら、
l = [0,1] * 10
と書く事も可能です。
C言語などとは異なり、型が異なっていても同一のリストに格納...
l = [1,"2",u"3"]
for i in l:
print type(i)
結果
<type 'int'>
<type 'str'>
<type 'unicode'>
ただし、あまりいろいろな型を入れると管理が大変になること...
*よく使う機能
**要素へのアクセスと切り出し
リストの要素へのアクセスは「[]」を使います。一つの要素の...
l = [1,2,3,4]
print l[0]
print l[0:2]
print l[-1]
結果
1
[1, 2]
4
**要素の追加
最後に追加するときは「append」を使います。
l = [1,2,3]
l.append(4)
print l
結果
[1, 2, 3, 4]
好きな場所に追加するときは「insert」を使います。第一引数...
l = [1,2,3]
l.insert(1,10)
print l
結果
[1, 10, 2, 3]
**要素の削除
単純に削除するなら「del」を使います。
l = [1,2,3]
del l[2]
print l
結果
[1, 2]
「:」を使うと二つ以上同時に消す事も可能です。
l = [1,2,3]
del l[0:2]
print l
結果
[3]
実際には、単に消すだけではなく、消した要素を取り出したい...
引数にインデックスを指定するとその要素が、指定しなければ...
l = [1,2,3]
d = l.pop()
print l,d
結果
[1, 2] 3
これとappend、insertを組み合わせて使うと先入先出、後入先...
**リストの長さ
リストの要素数、またはよく長さと呼ばれる物は、「len」関数...
l = [1,2,3,4]
print len(l)
結果
4
**ループ
リストの要素についてループするのは以下のようにします。
l = [1,2,3]
for i in l:
print i
結果
1
2
3
インデックスも一緒に取得する場合は「enumerate」を使います
l = [1,2,3]
for i,d in enumerate(l):
print i,d
0 1
1 2
2 3
他の言語を知っていると、
for i in range(len(l)):
print l,l[i]
のように書きたくなりますが、enumerateの方がすっきりします。
**リストのコピー
リストをコピーするには、「list」を使います。
l = [1,2,3]
l_copy = list(l)
print l_copy
結果
[1, 2, 3]
ただし、要素がリストやクラスのインスタンスなどの時には、...
**リストの並べ替え
昇順に並べ替えるなら「sort」を使います。
sortは元のリストを変更します。
l = [2,1,3]
l.sort()
print l
結果
[1, 2, 3]
元のリストを変更せずに新しい並べ替えられたリストがほしい...
l = [2,1,3]
l_sorted = sorted(l)
print l
print l_sorted
結果
[2, 1, 3]
[1, 2, 3]
sort、sorted関数共に逆順にするなら「reverse=True」を引数...
l = [2,1,3]
l.sort(reverse=True)
print l
結果
[3, 2, 1]
「cmp」引数に関数を指定することで複雑なルールの並べ替えも...
関数は2つの引数をとり、実際に並べ替えを行う時にはここに要...
その戻り値が正なら最初の引数の要素が大きいと判断して昇順...
以下の例では文字列の2文字目を整数にした場合の昇順に並べ替...
l = ["123","514","792"]
l.sort(cmp = lambda x,y : int(x[1]) - int(y[2]) )
print l
結果
['514', '123', '792']
ラムダ式については「[[Python/ラムダ式]]」も参照してくださ...
**その他
要素の検索、変換などより高度な話題については「[[Python/リ...
他にもリストに関わる機能はとてもたくさんありますが、長く...
ページ名: