[英]Read innermost value in multiple tuple in python
我想讀 入元組的最里面的值 。
Input - (((False, 2), 2), 2)
Output - False
我只想讀取 False值。 元組的大小各不相同,但我只想直接讀取最 內層元組的最內層值 。
您可以使用生成器函數展平元組並返回第一項:
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
您可以使用遞歸來做到這一點:
def i(I):
try:
return i(I[0])
except:
return I
Input = (((False, 2), 2), 2)
print i(Input)
您可以使用索引,就像在列表中一樣訪問它:
>>> a = (((False, 2), 2), 2)
>>> a[0][0][0]
False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.