fc2ブログ

配列(タプル)を比較する

 タプルを比較するためにPythonには、比較演算子を用います。

 ==、!=:すべての要素が同じかどうか比較する。
 <=、<、>、>=:すべての要素の大小を比較する。
 is:オブジェクトが同じかどうか比較する。

 以下に実際のコードを示します。
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. a = (10,20,30)  
  5. b = (10,20,30)  
  6. c = (10,20,25)  
  7.   
  8. #同じかどうか調べます。  
  9. print a == b  
  10. #異なるかどうか調べます。  
  11. print a != b  
  12. #大小を調べます。  
  13. print a >= b #すべて要素が同じなのでTrue  
  14. print a > b #すべて要素が同じなのでFalse  
  15. print a > c #3番目の要素が大きいのでTrue  
  16. #オブジェクトが同一かどうか調べます。  
  17. print id(a),id(b)  
  18. print a is b  
  19. d = a  
  20. print id(a),id(d)  
  21. print a is d  
以下が実行結果です。
  1. >>>   
  2. True  
  3. False  
  4. True  
  5. False  
  6. True  
  7. 44841504 31059760  
  8. False  
  9. 44841504 44841504  
  10. True  

テーマ : プログラミング
ジャンル : コンピュータ

tag : Pythonタプル

配列(タプル)に要素を追加する

 タプルは変更不可オブジェクトなので、要素を追加するメソッドはありません。  ただし、代入演算子「+=」を用いることによって要素が追加されたようにすることは可能です。

 以下が実際のコードです。
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. a = (10,30,20,50,0)  
  5. print id(a),a  
  6. #代入演算子でも要素が追加されているように見えるが、実際には、新たなオブジェクトが作成されている。  
  7. a += (90,100)  
  8. print id(a),a  
以下が実行結果です。
  1. >>>   
  2. 46445320 (103020500)  
  3. 46066600 (10302050090100)  

テーマ : プログラミング
ジャンル : コンピュータ

tag : Pythonタプル

配列(タプル)の論理積・論理和を求める

 組み込み関数のany,allを用いるとタプルの論理和、論理積が求められます。構文は、以下のとおり。
  1. #論理和を求める。  
  2. any(iterable)  
  3. #論理積を求める。  
  4. all(iterable)  
 iterableは、リスト等のイテレータです。
 以下にコードを記述します。
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. a = (True,True,True)  
  5. #論理和を求めます。  
  6. print a,any(a)  
  7. #論理積を求めます。  
  8. print a,all(a)  
  9.   
  10. a = (True,False,True)  
  11. #論理和を求めます。  
  12. print a,any(a)  
  13. #論理積を求めます。  
  14. print a,all(a)  
  15.   
  16. a = (1,2,0#0はFalseとして扱われます。  
  17. #論理和を求めます。  
  18. print a,any(a)  
  19. #論理積を求めます。  
  20. print a,all(a)  
  21.   
  22. a = ('Hello','Python','String'#空文字はFalseとして扱われます。  
  23. #論理和を求めます。  
  24. print a,any(a)  
  25. #論理積を求めます。  
  26. print a,all(a)  
  27.   
  28. a = ()  
  29. #論理和を求めます。  
  30. print a,any(a) #空リストはFalseを返します。  
  31. #論理積を求めます。  
  32. print a,all(a) #空リストはTrueを返します。  
 以下が実行結果です。
  1. >>>   
  2. (TrueTrueTrueTrue  
  3. (TrueTrueTrueTrue  
  4. (TrueFalseTrueTrue  
  5. (TrueFalseTrueFalse  
  6. (120True  
  7. (120False  
  8. ('Hello''Python''String'True  
  9. ('Hello''Python''String'True  
  10. () False  
  11. () True  

テーマ : プログラミング
ジャンル : コンピュータ

tag : Pythonタプルanyall

配列(タプル)の要素の和を求める

 組み込み関数のsumを用いるとタプルの要素の和を求めることができます。以下が、sumの構文です。
 iterableは、リストのようなイテレータです。

 以下が、実際のコードです。
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. a = (10,20,20,40,50)  
  5.   
  6. #和を求めます。  
  7. print a,sum(a)  
  8.   
  9. #文字の和は求められません。  
  10. a = ('a','b','c','d')  
  11. print a,sum(a)  
 以下が実行結果です。
  1. (1020204050140  
  2. ('a''b''c''d')  
  3.   
  4. Traceback (most recent call last):  
  5.   File "C:\2array_make.py", line 11in <module>  
  6.     print a,sum(a)  
  7. TypeError: unsupported operand type(s) for +: 'int' and 'str'  

テーマ : プログラミング
ジャンル : コンピュータ

tag : Pythonタプルsum

配列(タプル)の最大・最小を調べる

 タプルの最大、最小を調べるのに組み込み関数を利用できます、構文は、以下のとおりです。
  1. #最大を調べる  
  2. max(iterable[,args...][,key])  
  3. #最小を調べる  
  4. min(iterable[,args...][,key])  
 iterableには、タプル等のイテレータな変数です。
 args...は、複数の変数をカンマ区切りで並べることも可能です。
 また、keyには比較関数を入力することが可能で、key=比較関数の形で指定します。
 以下に、実際のコードを記載します。
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. a = (10,20,20,40,50)  
  5.   
  6. #最大を求めます。  
  7. print a,max(a)  
  8. #最小を求めます。  
  9. print a,min(a)  
  10.   
  11. #文字も比較できます。  
  12. a = ('a','b','c','d')  
  13. print a,max(a)  
  14.   
  15. #文字列も比較できます。  
  16. a = ('Hello','Python','String')  
  17. print a,max(a)  
  18.   
  19. #keyは以下のように使います。  
  20. a = (u'10',u'9')  
  21. print a,max(a) #keyを使わないとu'10'<u'9'になる。  
  22. #比較関数でintを用いることにより正しい解が得られます。  
  23. print a,max(a,key=int)   
 以下は、実行結果です。
  1. >>>   
  2. (102020405050  
  3. (102020405010  
  4. ('a''b''c''d') d  
  5. ('Hello''Python''String') String  
  6. (u'\uff11\uff10', u'\uff19') 9  
  7. (u'\uff11\uff10', u'\uff19') 10  

テーマ : プログラミング
ジャンル : コンピュータ

tag : Pythonタプルmaxmin

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR