スポンサーサイト

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

Pythonメモ書き:タプルの基本的な操作

タプルは丸カッコの中に各要素を並べ、要素同士の間にはカンマ(,)を書きます。

では、恒例のインタラクティブシェルで練習。

>>>('python', 'c') + ('perl', 'ruby')    #連結
('python', 'c', 'perl', 'ruby')
>>>
>>>('python', 'c') * 4           #繰返し
('python', 'c', 'python', 'c', 'python', 'c', 'python', 'c')
>>>
>>>T1 = ('python', 'c')
>>>T2 = ('perl', 'ruby')
>>>T1 + T2                 #連結
('python', 'c', 'perl', 'ruby')
>>>T1 * 4                 #繰返し
('python', 'c', 'python', 'c', 'python', 'c', 'python', 'c')
>>>
>>>T3 = T1 + T2
('python', 'c', 'perl', 'ruby')
>>>T3[0]             #インデクシング
'python'
>>>T3[1:3]            #スライシング
('c', 'perl')        
>>>T3[0], T3[1:3]
('python', ('c', 'perl'))    #タプルのネストが変える


タプルは不変性なので、

もし、タプルをソートする必要ができた場合は、リストに変換してsortメソッドを使います。

>>>T3 = ('python', 'c', 'perl', 'ruby')
>>>tmp = list(T3)        #タプルの要素でリストを作成
>>>tmp
['python', 'c', 'perl', 'ruby']
>>>tmp.sort()          #リストをソート
>>>tmp
[ 'c','perl','python','ruby']
>>>T = tuple(tmp)        #リストの要素でタプルを作成
>>>T
( 'c','perl','python','ruby')


また、タプルの変更をする際、リスト内包表記も出来るのだとか。

>>>t = (1, 2, 3, 4, 5)
>>>l = [x * 10 for x in t]
>>>l
[10, 20, 30, 40, 50]


また、タプルは不変性オブジェクトなのですが、タプルの要素が自動的に不変性になるのではない!!

ということを頭にいれておきましょう!

つまり、リストがタプルの要素になっても、リストは本来通り可変性オブジェクトということです。

>>>t1 = (1, [2, 3], 4)
>>>t1[1] = 'python'     #タプルの上書きはできない
Traceback (most recent call last):
  File "", line 1, in
TypeError: 'tuple' object does not support item assigment
>>>
>>>t1[1][0] = 'python'   #可変性オブジェクトは要素でも上書き可能
>>>t1
(1, ['python', 3], 4)


っていう感じですかねぇ

スポンサーサイト
.31 2010 Python:タプル comment0 trackback0

comment

post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

trackback

trackbackURL:http://emiandkosuke.blog29.fc2.com/tb.php/21-3bb68f56

プロフィール

emi

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

最新トラックバック

検索フォーム

ブロとも申請フォーム

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