特集PC技術

Pythonを学ぼう

 

第10回 リストの作成


1.リストとは

リストはさまざまなオブジェクトを格納する列を表します。
具体的には、次のように、"[]"括弧の中に要素をカンマで区切って列挙したものです。
[1, 2, 3, 4]

リストには次の特徴があります。

  • 数値、文字列など、どのオブジェクトでも格納できる
  • 数値、文字列など、異なるオブジェクトを一つのリストに格納できる
  • リストは動的のため、リストの大きさを指定する必要がない

2.直接記述して作成

要素を直接記述して、リストを作成します。
次のプログラムを見てください。

# coding: utf-8

# リストの作成
a = [3, 2, 1]
print(a)

# 空のリストを作成
b = []
print(b)

# 異なるオブジェクトを同時に格納
c = [1, 'a']
print(c)

実行結果

[3, 2, 1]
[]
[1, 'a']

3.一定の連番で作成

range関数を使うと、連番からリストを作成することができます。

range(開始整数, 終了整数, ステップ)

開始整数以上、終了整数未満の範囲で、リストを作成します。
開始整数とステップは省略できます。
その場合、開始整数は0、ステップは1としてリストを作成します。

# coding: utf-8

# 0以上2未満までのリストを作成
a = range(3)
print(a)

# 0以上10未満までを2ステップで作成
b = range(0, 10, 2)
print(b)

実行結果

[0, 1, 2]
[0, 2, 4, 6, 8]

4.シーケンスから作成

シーケンス型(文字列、タプル)からリストを作成します。
タプルはリストに似たシーケンスです。
タプルに関しては、以降の回で紹介します。

# coding: utf-8

# 文字列から作成
a = list('aaa')
print(a)

# タプルから作成
b = list((3, 2, 1))
print(b)

実行結果

['a', 'a', 'a']
[3, 2, 1]

5.スライスで作成

スライスと呼ばれる機能を使用して、リストの指定した範囲の要素をコピーして新しいリストを作成します。

[開始インデックス:終了インデックス:ステップ]

開始インデックス~終了インデックス未満までの範囲でリストを作成します。
開始インデックス、終了インデックス、ステップはそれぞれ省略できます。
その場合、開始インデックスは「左端」、終了インデックスは「右端」、ステップは1としてリストを作成します。

# coding: utf-8

a = [0, 1, 2, 3, 4]

# インデックスが0~4未満で作成
print(a[0:4])

# インデックスが0~4未満で、かつ2ステップで作成
print(a[0:4:2])

# インデックスが3~右端までで作成
print(a[3:])

# 全コピー(インデックスが左端~右端)
print(a[:])

実行結果

[0, 1, 2, 3]
[0, 2]
[3, 4]
[0, 1, 2, 3, 4]

6.Javaとの比較

Javaのソースコードとの比較をします。
Pythonのリストと比較する場合、Javaの配列よりjava.util.ArrayListクラスの方が似ているため、
このクラスを使って比較をします。
Javaを知っている方は参考にしてください。

Python Java
# coding: utf-8

# 空のリストを作成
a = []
print(a)

# リスト[3, 2, 1]の作成
b = [3, 2, 1]
print(b)

# 数値と文字列を組み合わせたリストを作成
c = [1, 'a']
print(c)
import java.util.ArrayList;
public class Java10 {
    public static void main(String[] args) {
        // 空のリストを作成
        ArrayList a = new ArrayList();
        System.out.println(a);

        // リスト[3, 2, 1]を作成
        ArrayList b = new ArrayList();
        b.add(new Integer(3));
        b.add(new Integer(2));
        b.add(new Integer(1));
        System.out.println(b);

        // 数値と文字列を組み合わせたリストを作成
        ArrayList c = new ArrayList();
        c.add(new Integer(1));
        c.add(new String("a"));
        System.out.println(c);
    }
}

Pythonのリストは、要素を指定してリストを作成できるのに対し、Javaのリストでは、空のリストを作成してから要素を追加する必要があります。
なお、Javaで数値と文字列などを組み合わせてリストを作成できるのは、Java1.4までです。
Java1.5以降だと、Generics機能の導入により、数値と文字列などを組み合わせてリストを作成できません。

コメントの投稿


画像の中に見える文字を入力してください。

トラックバックURL

http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1749

サイト内検索

twitterTwitter

最新ブログ記事

2015年06月13日

JavaScriptの情報室

4冊目 ハイブリッドアプリが作れる。tabris.js

2014年10月16日

C++言語学習録

第3回 ファイルを分割してみよう

2014年10月09日

C++言語学習録

第2回 オブジェクト指向の復習

2014年10月02日

C++言語学習録

第1回 C++の開発環境を整える

2014年09月25日

Swiftを試してみようなう。

第4回 Swiftでクラスを使うなう。

ISL 情報戦略研究所

pagetopこのページの先頭へ戻る