Python の型

a graph image

動的型付け

id()、is、==

None

>>> type(None)
<class 'NoneType'>

数値

bool

>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>

int

>>> type(1)
<class 'int'>

float

>>> type(1.0)
<class 'float'>

complex

>>> type(1+1j)
<class 'complex'>

long は、Python3 で廃止された

list

作成

要素の取得

>>> lst=[1,2,3,4,5,6]

要素の検索

>>> lst=[1,2,3,4,5,6,5,4,3,2,1]

要素の集計

要素の更新

要素の削除

ソート

コピー

比較

tuple

set

作成

>>> set1=set([1,2,3,2,1])
>>> set1
{1, 2, 3}

可変オブジェクトを set の要素に指定することはできない

>>> set3=set([1,2,3,['x','y']])
TypeError: unhashable type: 'list'

Python3 から {} で set を作れるようになった

>>> set2={1,2,3,2,1}
>>> set2
{1, 2, 3}

Python3 からセット内包表記が可能になった

>>> {py + 'thon' for py in ['py','mara','row','py','suxame'] if len(py) < 4}
{'python', 'rowthon'}

set同士の演算

要素の取得

要素の検索

要素の集計

要素の更新

要素の削除

コピー

比較

frozen set

変更不可のset

>>> set1=set([1,2,3])
>>> set1.add(4)
>>> set1
{1, 2, 3, 4}
 
>>> set2=frozenset([1,2,3])
>>> set2.add(4)
AttributeError: 'frozenset' object has no attribute 'add'

dictionary

作成

{key:value, key:value, … }

>>> osx = {'siam' : 'beta',
       'cheetah' : 10.0,
       'puma' : 10.1,
       'jaguar' : 10.2,
       'panther' : 10.3,
       'tiger' : 10.4,
       'leopard' : 10.5,
       'snow leopard' : 10.6,
       'lion' : 10.7,
       'mountain lion' : 10.8}
>>> osx
{'tiger': 10.4, 'lion': 10.7, 'puma': 10.1, 'jaguar': 10.2, 'mountain lion': 10.8,
'panther': 10.3, 'cheetah': 10.0, 'siam': 'beta', 'leopard': 10.5, 'snow leopard': 10.6}

dict()

>>> dict(key1='val1', key2='val2')
{'key2': 'val2', 'key1': 'val1'}
>>> dict([('key3','val3'),('key4','val4')])
{'key3': 'val3', 'key4': 'val4'}
>>> dict({'key5':'val5', 'key6':'val6'})
{'key6': 'val6', 'key5': 'val5'}

dict.fromKeys(sequence)

>>> dict.fromkeys(range(6))
{0: None, 1: None, 2: None, 3: None, 4: None, 5: None}
>>> dict.fromkeys(range(6), 'default')
{0: 'default', 1: 'default', 2: 'default', 3: 'default', 4: 'default', 5: 'default'}

Python3 から辞書内包表記が使える

>>> keys=['k1','k2','k3','kk']
>>> vals=['v1','v2','v3','vv']
>>> {key:val for key,val in zip(keys,vals) if key[1:] == val[1:]}
{'k3': 'v3', 'k2': 'v2', 'k1': 'v1'}

要素の取得

>>> osx
{'tiger': 10.4, 'lion': 10.7, 'puma': 10.1, 'jaguar': 10.2, 'mountain lion': 10.8,
'panther': 10.3, 'cheetah': 10.0, 'siam': 'beta', 'leopard': 10.5, 'snow leopard': 10.6}

dict[key]

>>> osx['lion']
10.7
>>> osx.get('siam')
'beta'

dict.get(key) / dict.get(key, default value)

>>> osx.get('tama') is None
True
>>> osx.get('tama', '10.9')
'10.9'

dict.keys()

>>> osx.keys()
dict_keys(['tiger', 'lion', 'puma', 'jaguar', 'mountain lion', 'panther', 'cheetah', 'siam',
'leopard', 'snow leopard'])

dict.values()

>>> osx.values()
dict_values([10.4, 10.7, 10.1, 10.2, 10.8, 10.3, 10.0, 'beta', 10.5, 10.6])

dict.items()

>>> osx.items()
dict_items([('tiger', 10.4), ('lion', 10.7), ('puma', 10.1), ('jaguar', 10.2), 
('mountain lion', 10.8), ('panther', 10.3), ('cheetah', 10.0), ('siam', 'beta'), 
('leopard', 10.5), ('snow leopard', 10.6)])

for文では key が取り出せる。順番が不定なことに注意

>>> for key in osx:
	print(key + "= OSX" + str(osx.get(key)))
	
tiger= OSX10.4
lion= OSX10.7
puma= OSX10.1
jaguar= OSX10.2
mountain lion= OSX10.8
panther= OSX10.3
cheetah= OSX10.0
siam= OSXbeta
leopard= OSX10.5
snow leopard= OSX10.6

要素の検索

>>> osx
{'tiger': 10.4, 'lion': 10.7, 'puma': 10.1, 'jaguar': 10.2, 'mountain lion': 10.8,
'panther': 10.3, 'cheetah': 10.0, 'siam': 'beta', 'leopard': 10.5, 'snow leopard': 10.6}
>>> 'leopard' in osx
True
>>> 'tama' in osx
False

要素の集計

>>> osx
{'tiger': 10.4, 'lion': 10.7, 'puma': 10.1, 'jaguar': 10.2, 'mountain lion': 10.8,
'panther': 10.3, 'cheetah': 10.0, 'siam': 'beta', 'leopard': 10.5, 'snow leopard': 10.6}
>>> len(osx)
10

要素の更新

要素の削除

コピー

比較

順序付き辞書

>>> dict([('k1','v1'),('k2','v2')])
{'k2': 'v2', 'k1': 'v1'}
 
>>> from collections import OrderedDict
>>> OrderedDict([('k1','v1'),('k2','v2')])
OrderedDict([('k1', 'v1'), ('k2', 'v2')])

文字列

作成

要素の取得

要素の検索

要素の集計

要素の判定

要素の加工

Iterator / Generator


Python


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2012-10-27 (土) 15:20:09 (1497d)
ISBN10
ISBN13
9784061426061