LoginSignup
0
0

all()関数の使い方【Pythonの組み込み関数】

Posted at

all()関数の使い方

all() 関数は、与えられたイテラブル(リスト、タプル、集合など)内のすべての要素が True である場合に True を返し、それ以外の場合は False を返します。以下に、all() 関数の例を示します。

test1.py
#リスト内のすべての要素が True の場合:
A = [True, True, True, True]
result = all(A)
print(result)  # 出力: True
test2.py
# リスト内の一部の要素が False の場合:
A = [True, True, False, True]
result = all(A)
print(result)  # 出力: False
test3.py
# 空のリストの場合:
A = []
result = all(A)
print(result)  # 出力: True
test4.py
# イテレブル内の要素が真偽値以外の場合:
A = [1, 2, 3, 0]
result = all(A)
print(result)  # 出力: False (0 は `False` と評価されます)

使用例

リスト内のすべての値を絶対値に変換するには、Pythonの組み込み関数であるabs()を使って各要素を個別に変換し、新しいリストを作成する方法があります。または、リスト内包表記を使用して同じ結果を得ることもできます。

test1.py
# 文字列内の文字がすべて小文字のアルファベットの場合:
string = "hello"
result = all(char.islower() for char in string)
print(result)  # 出力: True
test2.py
# 方法2: リスト内包表記を使用する方法
A = [10, -4, -8, -11, 3]
abs_values = [abs(num) for num in A]

print(abs_values)
# 出力: [10, 4, 8, 11, 3]

具体的な例題Atcoder ABC327

https://atcoder.jp/contests/abc327/tasks/abc327_c
1,2,3の3つの条件について一つ一つflag判定を行っていく。

abc327_c.py
A = []
for a in range(9):
    x = list(map(int, input().split()))
    A.append(x)
#print(A)
flag = True

# 1 row
def row(x):
    y = [0]*9
    for i in range(9):
        y[x[i]-1] += 1
    return all(y)
list1 = []
for a in A:
    list1.append(row(a))
#print(list1)
if not all(list1):
    flag = False

# 2 column
B = []
for i in range(9):
    y = []
    for j in range(9):
        y.append(A[j][i])
    B.append(y)
#print(B)
list2 = []
for b in B:
    list2.append(row(b))
#print(list2)
if not all(list2):
    flag = False

# 3×3 
C = []
for a in range(0, 9, 3):
    for b in range(0, 9, 3):
        z = []
        for i in range(a, a+3):
            for j in range(b, b+3):
                z.append(A[i][j])
        C.append(z)
#print(C)
list3 = []
for c in C:
    list3.append(row(c))
if not all(list3):
    flag = False

print("Yes" if flag else "No")

まとめ

List内の要素をすべて判定するときに、大きな効果を発揮する!

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0