在python中读取多个元组中的最内层值

时间:2014-12-01 08:04:24

标签: python tuples

我想在元组最里面的值中读取

Input - (((False, 2), 2), 2)
Output - False

我想读取错误值。元组的大小会有所不同,但我想直接读取最内层元组最内层值

3 个答案:

答案 0 :(得分:1)

您可以使用生成器函数展平元组并返回第一项:

from collections import Iterable

def solve(seq):
    for x in seq:
        if isinstance(x, Iterable) and not isinstance(x, basestring):
            for y in solve(x):
                yield y
        else:
            yield x
...             
>>> next(solve((((False, 2), 2), 2)))
False

答案 1 :(得分:1)

你可以使用递归来实现:

def i(I):
 try:
      return i(I[0])
 except:
      return I

Input = (((False, 2), 2), 2)
print i(Input)

答案 2 :(得分:0)

您可以像使用索引一样访问它:

>>> a = (((False, 2), 2), 2)
>>> a[0][0][0]
False