Pythonに挑戦(13)その(2)からの続き
(6) まとめて処理
(a) all
引数のイテラブル・オブジェクト(配列)の要素の中に1つでもFalseがあるとFalse,全てTrueの場合にTrueを返す関数です。ANDと同じ機能です。
e5 = [1, 2, 3, 4, 5]
e6 = [0, 1, 2, 3, 4]
print(“e5:“, e5, “all(e5):“, all(e5))
print(“e6:“, e6, “all(e6):“, all(e6))
e6 = [0, 1, 2, 3, 4]
print(“e5:“, e5, “all(e5):“, all(e5))
print(“e6:“, e6, “all(e6):“, all(e6))
とすると、画面に、
e5: [1, 2, 3, 4, 5] all(e5): True
e6: [0, 1, 2, 3, 4] all(e6): False
e6: [0, 1, 2, 3, 4] all(e6): False
と表示します。
(b) any
引数のイテラブル・オブジェクト(配列)の要素の中に1つでもTrueがあるとTrue,全てFalseの場合にFalseを返す関数です。ORと同じ機能です。要素が一つもない場合には、Falseを返します。
e7 = [0, 0, 7, 0, 0]
e8 = [0, 0, 0, 0, 0]
e9 = []
print(“e7:“, e7, “all(e7):“, any(e7))
print(“e8:“, e8, “all(e8):“, any(e8))
print(“e9:“, e9, “all(e9):“, any(e9))
e8 = [0, 0, 0, 0, 0]
e9 = []
print(“e7:“, e7, “all(e7):“, any(e7))
print(“e8:“, e8, “all(e8):“, any(e8))
print(“e9:“, e9, “all(e9):“, any(e9))
とすると、画面に、
e7: [0, 0, 7, 0, 0] all(e7): True
e8: [0, 0, 0, 0, 0] all(e8): False
e9: [] all(e9): False
e8: [0, 0, 0, 0, 0] all(e8): False
e9: [] all(e9): False
と表示します。
(7) ループ処理・スライス操作
(a) enumerate
第1引数にイテラブル・オブジェクト(リスト、文字列、タプル、辞書、集合など)、第2引数に番号付けを行う時の開始番号を指定(指定しなければ0です)し、番号と配列要素の組み合わせ(タプル)を並べたenumerateオブジェクトを生成する関数です。
forループでリスト要素を巡回する場合に、
forループでリスト要素を巡回する場合に、
array = [‘apple’, ‘orange, ‘peach’]
for element in array:
for element in array:
elementに関する処理
としてしまうと、elementに関する処理を行う場合に、elementがarrayの中の何番目の要素か分からなくて困ることがあります。このときに、
array = [‘apple’, ‘orange, ‘peach’]
for n1, s1 in enumerate(array, 1):
for n1, s1 in enumerate(array, 1):
print(n1, s1)
とすると、要素に番号を付記して、画面に、
1 apple
2 orange
3 peach
2 orange
3 peach
と表示するようにできます。
(b) range
引数で、整数の開始値、終了値、ステップ値(省略すると1です)を指定して、開始値から終了値未満(ステップ値が負なら終了値を超える数値)までの数値を持つrangeオブジェクトを生成する関数です。
e1 = list(range(4))
print(“3 in e1:“, 3 in e1)
print(“range(4):“, e1)
e1 = list(range(3,6))
print(“3 in e1:“, 3 in e1)
print(“range(3,6):“, e1)
e1 = list(range(9, 0, -3))
print(“0 in e1:“, 0 in e1)
print(“range(9, 0, -3)”, e1)
print(“3 in e1:“, 3 in e1)
print(“range(4):“, e1)
e1 = list(range(3,6))
print(“3 in e1:“, 3 in e1)
print(“range(3,6):“, e1)
e1 = list(range(9, 0, -3))
print(“0 in e1:“, 0 in e1)
print(“range(9, 0, -3)”, e1)
とすると、画面に、
3 in e1: True
range(4): [0, 1, 2, 3]
3 in e1: True
range(3,6): [3, 4, 5]
0 in e1: False
range(9, 0, -3): [9, 6, 3]
range(4): [0, 1, 2, 3]
3 in e1: True
range(3,6): [3, 4, 5]
0 in e1: False
range(9, 0, -3): [9, 6, 3]
と表示されます。
(c) slice
引数で、整数の開始値、終了値、ステップ値(省略すると1です)を指定して、スライス・オブジェクトを生成する関数です。リスト、文字列の同一の位置の要素が必要となるときに便利です。
str1 = “abcdefghij”
print(“元の文字列:“, str1)
s1 = slice(3, 7, 2)
print(“slice(3, 7, 2):“, str1[s1])
s1 = slice(4, 5)
print(“slice(3, 7, 2):“, str1[s1])
s1 = slice(4)
print(“slice(3, 7, 2):“, str1[s1])
print(“元の文字列:“, str1)
s1 = slice(3, 7, 2)
print(“slice(3, 7, 2):“, str1[s1])
s1 = slice(4, 5)
print(“slice(3, 7, 2):“, str1[s1])
s1 = slice(4)
print(“slice(3, 7, 2):“, str1[s1])
とすると、画面に、
元の文字列: abcdefghij
slice(3, 7, 2): df
slice(4, 5): e
slice(4): abcd
slice(3, 7, 2): df
slice(4, 5): e
slice(4): abcd
と表示されます。slice(4)の4は終了値です。