シーケンスには、インデックス付けやスライスに加えて、加算、乗算、関数などの関数もあります。このセクションでは、加算と乗算について説明します。
シーケンスには加算の機能がありますが、この加算は数値の加算に似ていますが、「 + 」記号を使用して同じタイプの 2 つのシーケンスを加算することができます。
2 つの例を簡単に見てみましょう。
1) 同じタイプのシーケンスを追加します。コードは次のとおりです。
my_list=[1,2,3,4,5,6,7,8,9,]my_list2=[11,22,33,44,55,66]my_str='abcdefghijklmn'my_str2='opqrstuvwxyz'my_tuple=( 1,2,3,4,5)my_tuple2=(6,7,8,9)print('2 つのリストは次のように追加されます:',my_list+my_list2)print('2 つの文字列は次のように追加されます: ',my_str +my_str2)print('2 つのタプルを追加した後:',my_tuple+my_tuple2)
実行結果:
2 つのリストを加算すると、次のようになります: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66]
一緒に追加された 2 つの文字列は次のとおりです: abcdefghijklmnopqrstuvwxyz
2 つのタプルを追加した後: (1、2、3、4、5、6、7、8、9)
2) さまざまなタイプのシーケンスを追加します。コードは次のとおりです。
my_list=[1,2,3,4,5,6,7,8,9,]my_str='abcdefghijklmn'my_tuple=(1,2,3,4,5)print('リストと文字列を追加: ', my_list+my_str)print('文字列とタプルの追加:',my_str+my_tuple)
実行結果:
Traceback(mostrecentcalllast):File,line4,in<module>print('Add list and string:',my_list+my_str)TypeError:canonlyconcatenatelist(notstr)tolist
走行図:
エラー メッセージは次のとおりです。リスト ("str" ではない) のみをリストに接続できるため、'+' 演算中の加算には同じ型を使用する必要があります。
Python にはシーケンスの乗算関数が用意されています。この乗算は、シーケンスをxで乗算すると、元のシーケンスが x 回繰り返されたものと同じではありません。
数列の乗算は比較的単純です。簡単な例で見てみましょう。
my_list=[1,2,3,4,5]my_str='www.dotcpp.com'my_tuple=(1,2,3,4,5)print('my_list リストを 3 で乗算して、新しいリストを取得します。 ',my_list*3)print('my_str 文字列を 3 で乗算して新しい文字列を取得します:',my_str*3)print('my_tuple タプルを 3 で乗算して新しいタプルを取得します:',my_tuple* 3)
出力結果:
my_list リストに 3 を掛けて、新しいリストを取得します: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
my_str 文字列を 3 で乗算して、新しい文字列を取得します: www.dotcpp.comwww.dotcpp.comwww.dotcpp.com
my_tuple タプルを 3 で乗算して、新しいタプルを取得します: (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
実行図は次のとおりです。
唯一注意すべき点は、ここで生成されるのは新しいリスト、文字列、およびタプルであるということです。元のリスト、文字列、およびタプルは変更されていないので、もう一度印刷してみてください。
数列の乗算には、指定された長さのリストを初期化する機能もあります。
次のコードを見てください。
my_list=[なし]*5#長さ 5 の初期化リストを実装します print(my_list)
出力結果:
[なし、なし、なし、なし、なし]
アクセス リストのインデックスがリストの長さよりも大きい場合、アクセス エラーが発生するため、この方法は通常、リスト操作が既存のデータの長さを超える場合に使用されます。
加算と乗算についてはこれで終わりです。次の章は、アルゴリズム演算を実行するときに特に便利なシーケンスの本質です。