スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
.-- -- スポンサー広告 comment(-) trackback(-)

Phthonメモ書き:リストの多次元化

久しぶりのPythonメモ書きです。

リストを1000 * 1000位の多次元化にして
データを収めようかなと思い
ちょっとやってみたら出来たので
メモ書きです。

>>> multi_list = [[ 0 for i in range(3)] for j in range(5)]
>>> print multi_list
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> m = 0
>>> for i in range(0, 5):
... for j in range(0, 3):
... multi_list[i][j] = m
... m += 1
...
>>> print multi_list
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [12, 13, 14]]


他にもやり方があるみたいなのですが
最初だし、初歩的な感じでやってみました。

予めリストに数値をいれとけば
うまくプログラムが走らなかった時に
チェック!チェック!が出来るかなという
安全対策でした。

スポンサーサイト
.17 2011 Python:リスト comment0 trackback0

Pythonメモ書き:リストへの変更

リストは可変性のオブジェクトなので、内容に変更を加えることが出来ちゃいます!!

つまり、上書きされます。

インデックスの指定、スライシングによる変更

>>>L=['python', 'c++', 'perl']
>>>L[1]='c' #インデックス指定による変更
>>>L
['python', 'c', 'perl']
>>>L[0:2]=['PHP', 'mySQL'] #スライシングによる変更(削除+挿入)
>>>L
['PHP', 'mySQL', 'perl']

で、追加が可能という事実は

>>>L[1:2]=['c', 'c++']
>>>L
['PHP', 'c', 'c++', 'perl']

から確かめてみたり。

また、追加のメソッドとしてappendがありますが、これはリストの末尾に要素を追加します。

>>>L.append('python')
>>>L
['PHP', 'c', 'c++', 'perl', 'python']


複数の要素を末尾に追加したい時は、extendを使います。

>>>L.extend(['ruby', 'c#'])
>>>L
['PHP', 'c', 'c++', 'perl', 'python', 'ruby', 'c#']


末尾の要素を削除したい時は、popを使います。

>>>L.pop()
'c#'
>>>L
['PHP', 'c', 'c++', 'perl', 'python', 'ruby']


要素の順序を反転させたい時は、reverseを使います。
>>>L.reverse()
>>>L
['ruby', 'python', 'perl', 'c++', 'c', 'PHP']


delステートメントを使うと特定の要素、範囲を削除出来ます。

>>>L
['ruby', 'python', 'perl', 'c++', 'c', 'PHP']
>>>del L[0]
>>>L
['python', 'perl', 'c++', 'c', 'PHP']
>>>del L[2:]
>>>L
['python', 'perl']


って、トコですかね
.30 2010 Python:リスト comment0 trackback0

Pythonメモ書き:リストのインデクシング、スライシング、行列の表現

リストも文字列と同じシーケンスなので

インデクシング、スライシングが行えます。

ただし、リストに対してインデクシングを行った場合には、どのインデックスを指定するかによって

結果として得られるオブジェクトの型が変わる可能性があります。。。

で、これまた復習がてら

>>>L=['python', 'c++', 'perl']
>>>L[2] #インデックスは0から始まる
'perl'
>>>L[-2]                #負のインデックスは右から数える
'c++'
>>>L[1:]                #スライシングで一部を抽出
['c++', 'perl']


リストの中に、他のリストをネストすることが出来ちゃうので、

目的の要素にアクセスするためにインデックスを複数指定しないといけない。。。

例えば~

>>>matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>>matrix[1]
[4,5,6]
>>>matrix[1][1]
5
>>>matrix[2][0]
7

で、ネストしたリストは複数行に渡って記述することも可能で

>>>matrix = [[1,2,3],
...      [4,5,6],
...      [7,8,9]]
>>>matrix[1]
[4,5,6]
>>>matrix[1][1]
5
>>>matrix[2][0]
7

ってな、感じ。
.30 2010 Python:リスト comment0 trackback0

Pythonメモ書き:リスト

お次は、リスト!!

リストの特徴

•オブジェクト(型は不問!!)を一定の順序で並べたもの
•インデックスによって要素にアクセス出来る
•長さを自由に変えられ、複数種の構成要素の混在が可能で、ネストにも対応できる
•シーケンスの一種であるが、変更を加えられる
•リストは正確には、オブジェクトリファレンスの配列


またインタラクティブシェルを使って、

まずは基本的なリストの操作

文字列の操作と共通しているものが多いので復習も兼ねて、、、

>>>len(['python', 'c++', 'perl']) #長さの確認
3
>>>['python', 'c++', 'perl'] + ['SQL'] #連結
['python', 'c++', 'perl', 'SQL']
>>>['PHP']*4 #繰返し
['PHP', 'PHP', 'PHP', 'PHP']
>>>'python' in ['python', 'c++', 'perl'] #要素の有無の確認
True


って、とこかな。。。
.30 2010 Python:リスト comment0 trackback0
 HOME 

プロフィール

emi

Author:emi
日々、コンピューターとにらめっこしていた2010。
公の仕事に就くことを目指して教科書とにらめっこ2011,spring。
はたして2012は・・・

最新トラックバック

検索フォーム

ブロとも申請フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。