Python の組み込み関数 all の使い方です。
all 関数で、リストやタプルの中身を評価するコード例と、実行結果を載せました。
(Python) all(iterable)
の説明にあった通り、all 関数に『空の iterable(空のリストなど)』を渡したときは、True が返りました。
あと、『エラーになったコード例』も書きました。
エラーになったコード例
all 関数で、エラーになったコード例です。
all(None) # None
TypeError: 'NoneType' object is not iterable
all(True) # True
TypeError: 'bool' object is not iterable
all(False) # False
TypeError: 'bool' object is not iterable
all(5) # 5
TypeError: 'int' object is not iterable
all(5.5) # 5.5
TypeError: 'float' object is not iterable
all(complex(3, 4)) # (3+4j)
TypeError: 'complex' object is not iterable
all(lambda x: x) # <function <lambda> at 0x0000000000000000>
TypeError: 'function' object is not iterable
from decimal import Decimal
all(Decimal(5)) # Decimal('5')
TypeError: 'decimal.Decimal' object is not iterable
import datetime
all(datetime.datetime.min) # datetime.datetime(1, 1, 1, 0, 0)
TypeError: 'datetime.datetime' object is not iterable
import datetime
all(datetime.date.min) # datetime.date(1, 1, 1)
TypeError: 'datetime.date' object is not iterable
import datetime
all(datetime.time.min) # datetime.time(0, 0)
TypeError: 'datetime.time' object is not iterable
import datetime
all(datetime.timedelta.min) # datetime.timedelta(days=-999999999)
TypeError: 'datetime.timedelta' object is not iterable
tuple を渡した結果
all 関数に、tuple を渡した結果です。
all(()) # ()
True
組み込み定数のタプル。
all((None,)) # (None,)
False
all((False,)) # (False,)
False
all((False, True)) # (False, True)
False
all((True, True)) # (True, True)
True
int(整数)のタプル。
all((0, 0)) # (0, 0)
False
all((0, 1)) # (0, 1)
False
all((1, 2)) # (1, 2)
True
float(浮動小数点数)のタプル。
all((0.0,)) # (0.0,)
False
all((-0.0,)) # (-0.0,)
False
all((0.1,)) # (0.1,)
True
all((-0.1,)) # (-0.1,)
True
all((float('nan'),)) # (nan,)
True
all((float('inf'),)) # (inf,)
True
all((float('-inf'),)) # (-inf,)
True
complex(複素数)のタプル。
(Python) class complex([real[, imag]])
all((complex(0.0, 0.0),)) # (0j,)
False
all((complex(-0.0, -0.0),)) # ((-0-0j),)
False
all((complex(0.0, 0.1),)) # (0.1j,)
True
all((complex(0.1, 0.0),)) # ((0.1+0j),)
True
all((complex(0.0, float('nan')),)) # (nanj,)
True
all((complex(float('nan'), 0.0),)) # ((nan+0j),)
True
all((complex(float('nan'), float('nan')),)) # ((nan+nanj),)
True
all((complex(0.0, float('inf')),)) # (infj,)
True
all((complex(float('inf'), 0.0),)) # ((inf+0j),)
True
Decimal 型(十進数型)のタプル。
(Python) class decimal.Decimal(value="0", context=None)
from decimal import Decimal
all((Decimal(0),)) # (Decimal('0'),)
False
from decimal import Decimal
all((Decimal(0.0),)) # (Decimal('0'),)
False
from decimal import Decimal
all((Decimal(-0.0),)) # (Decimal('-0'),)
False
from decimal import Decimal
all((Decimal(0.1),)) # (Decimal('0.1000000000000000055511151231257827021181583404541015625'),)
True
from decimal import Decimal
all((Decimal(-0.1),)) # (Decimal('-0.1000000000000000055511151231257827021181583404541015625'),)
True
from decimal import Decimal
all((Decimal(1),)) # (Decimal('1'),)
True
datetime、date、time、timedelta のタプル。
import datetime
all((datetime.datetime.min,)) # (datetime.datetime(1, 1, 1, 0, 0),)
True
import datetime
all((datetime.date.min,)) # (datetime.date(1, 1, 1),)
True
import datetime
all((datetime.time.min,)) # (datetime.time(0, 0),)
True
import datetime
all((datetime.timedelta(0),)) # (datetime.timedelta(0),)
False
import datetime
all((datetime.timedelta.min,)) # (datetime.timedelta(days=-999999999),)
True
list を渡した結果
all 関数に、list を渡した結果です。
(Python) class list([iterable])
all([]) # []
True
all([0, 0]) # [0, 0]
False
all([0, 1]) # [0, 1]
False
all([1, 2]) # [1, 2]
True
set を渡した結果
all 関数に、集合の set を渡した結果です。
(Python) class set([iterable])
all(set()) # set()
True
all({0, None}) # {0, None}
False
all({0, 1}) # {0, 1}
False
all({1, 2}) # {1, 2}
True
dict を渡した結果
all 関数に、辞書の dict を渡した結果です。
all({}) # {}
True
all({0: None, None: None}) # {0: None, None: None}
False
all({0: None, 1: None}) # {0: None, 1: None}
False
all({1: None, 2: None}) # {1: None, 2: None}
True
dict.keys() を渡した結果
all 関数に、dict.keys() を渡した結果です。
all({}.keys()) # dict_keys([])
True
all({0: None, None: None}.keys()) # dict_keys([0, None])
False
all({0: None, 1: None}.keys()) # dict_keys([0, 1])
False
all({1: None, 2: None}.keys()) # dict_keys([1, 2])
True
dict.values() を渡した結果
all 関数に、dict.values() を渡した結果です。
all({}.values()) # dict_values([])
True
all({0: None, None: None}.values()) # dict_values([None, None])
False
all({0: None, 1: None}.values()) # dict_values([None, None])
False
all({1: None, 2: None}.values()) # dict_values([None, None])
False
dict.items() を渡した結果
all 関数に、dict.items() を渡した結果です。
all({}.items()) # dict_items([])
True
all({0: None, None: None}.items()) # dict_items([(0, None), (None, None)])
True
all({0: None, 1: None}.items()) # dict_items([(0, None), (1, None)])
True
all({1: None, 2: None}.items()) # dict_items([(1, None), (2, None)])
True
str を渡した結果
all 関数に、str(文字列)を渡した結果です。
all('') # '' 空文字列
True
all('a') # 'a'
True
all('aa') # 'aa'
True
all('0') # '0'
True
all('00') # '00'
True
bytes を渡した結果
all 関数に、bytes を渡した結果です。
(Python) class bytes([source[, encoding[, errors]]])
all(b'') # b''
True
all(b'\x00') # b'\x00'
False
all(b'\x00\x01') # b'\x00\x01'
False
all(b'\x01\x01') # b'\x01\x01'
True
bytearray を渡した結果
all 関数に、bytearray を渡した結果です。
(Python) class bytearray([source[, encoding[, errors]]])
all(bytearray()) # bytearray(b'')
True
all(bytearray((0,))) # bytearray(b'\x00')
False
all(bytearray((0, 1))) # bytearray(b'\x00\x01')
False
all(bytearray((1, 1))) # bytearray(b'\x01\x01')
True
以上です。