0

タプルのタプル内に空のタプルがない場合に true を返すテストを行うにはどうすればよいですか?

たとえばTrue、この場合は次のように返します。

(('t2',), ('t3',), ('t4',), ('t5','t6'))

Falseこの場合は次を返します。

(('t2',), (), ('t3',), ('t4',))

Python3で有効になるように答えてください。

4

2 に答える 2

4

allPython では空のタプルは falsey であるため、組み込み関数を使用できます。

Help on built-in function all in module builtins:

all(...)
    all(iterable) -> bool

    Return True if bool(x) is True for all values x in the iterable.
    If the iterable is empty, return True.



>>> all((('t2',), ('t3',), ('t4',), ('t5', 't6')))
True
>>> all((('t2',), (), ('t3',), ('t4',)))
False
于 2013-11-10T09:49:17.070 に答える
2

「タプルのタプル内に空のタプルはない」の反対は、「いくつかのタプルは...空です」です。同様に、「タプルのタプル内に空のタプルを見つけることができます」。

これは当然、同じように単純な (そして、わずかに読みやすいと思います) が、まったく異なる解決策につながります。

>>> () not in (('t2',), ('t3',), ('t4',), ('t5', 't6'))
True
>>> () not in (('t2',), (), ('t3',), ('t4',))
False
于 2013-11-10T11:06:45.150 に答える