假设我有一个字符串列表,如下所示:
l=[['a','kl_hg', 'FOO'],['b', 'kl_c', 'po']]
现在我想使用if
命令,如下所示(在伪代码中!)公司名称:
我从this question学习了如何检查单个变量是否为字符串。因此,对于一个单子,我可以:
dummyL = ['a','kl_hg', 'FOO']
if all(isinstance(s, basestring) for s in dummyL):
#do something
对于我的实际列表l
我可以做:
if all(isinstance(el, basestring) for sl in l for el in sl):
#do something
是这样做还是有一个更快的解决方案,因为这需要一些时间来处理大量的列表?在
对于任何层次的嵌套,您可能希望在一般情况下使用递归来解决这个问题。例如:
你的方法是正确的,any flatting list short cut seems slowest。一个fastest way may be use itertools:
奇怪的是,有人告诉any()内置函数:
使用any()函数的好处是它不计算整个序列,它在找到第一个真值时返回,而不是all()。在
相关问题 更多 >
编程相关推荐