擅长:python、mysql、java
<p>如果您很高兴递归级别不会变得糟糕(而且您使用的是最新版本的Python):</p>
<pre><code>def unpack(obj):
for x in obj:
if isinstance(x, str):
yield x
elif isinstance(x, tuple):
yield from unpack(x)
else:
raise TypeError
x = ('text', ('othertext', ('moretext', ('yetmoretext',))))
result = list(unpack(x))
print(result)
</code></pre>
<p>会给你:</p>
^{pr2}$
<p>如果在下一个元组之前有1个以上的字符串,或者直接在元组中有元组,或者在元组之后有字符串等等,也可以很容易地将其修改为与其他类型一起使用,出于谨慎起见,我可能犯了不必要的错误。在</p>