fc2ブログ

[python]配列の長さを取得する

配列のサイズをチェックする場合は、ビルトイン関数の len を使用する。

len(リスト)


>>> data = ['a', 'b', 'c']
>>> len(data)
3

>>> data2 = [1, 2, 3, 4]
>>> len(data2)
4


val.lengh()とか val.size() のようにして取得することはできない。

>>> data.length()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'list' object has no attribute 'length'

>>> data.size()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'list' object has no attribute 'size'

[Python][Numpy] numpy.full :要素を指定した値で埋めた配列を生成

Numpyを使用して、要素を指定した値で埋めた配列を生成。

# Python 2.7.15

使用する関数は

numpy.full

Numpyがインストールされていなかったら、インストールをしておく。
macの場合、以下のコマンドでインストール。

■インストールコマンド
$ pip install numpy -I --user

■インストール確認
$ pip show numpy
Name: numpy
Version: 1.15.1




■numpy.full を使用して7を埋めた3x3の配列を生成してみた

>>> import numpy as np
>>> np.full((3,3), '7', dtype=np.int32)
array([[7, 7, 7],
[7, 7, 7],
[7, 7, 7]], dtype=int32)
>>>

ちなみに、文字を埋めてみようとしていくつかエラーを出したのでメモ。
ドキュメントを読めば、出ないエラーなんですがね。。

>>> np.full((3,3), 'a', dtype=np.string)
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'module' object has no attribute 'string'
>>>

numpy に string なんてない、ということ。

dtype自体は string はあるので、以下のように。

>>> np.full((3,3), 'a', dtype=string)
Traceback (most recent call last):
File "", line 1, in
NameError: name 'string' is not defined
>>>

あら、string変数はないよと。。。
'string' に変更。

>>> np.full((3,3), 'a', dtype='string')
array([['a', 'a', 'a'],
['a', 'a', 'a'],
['a', 'a', 'a']], dtype='|S1')
>>>

無事、文字で埋まりました!!

ただ、'abc' 文字列で埋めることはできなかったんですよね。
なぜか、'abc' と指定すると 'a' で埋められました。

機会があれば、文字列のところも調べてみます。




ちなみに numpy.zeros、numpy.ones を使用すれば、
0埋め、1埋めはほんの少しですが簡易的に生成できます。


プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
Counter