加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何检查列表列表中的所有元素是否为字符串

发布时间:2020-12-20 11:44:18 所属栏目:Python 来源:网络整理
导读:假设我有一个字符串列表,如下所示: l=[['a','kl_hg','FOO'],['b','kl_c','po']] 现在我想使用if命令如下(在伪代码中!): if allElementsOf(l).isString():#do something 从this question开始,我学会了如何检查单个变量是否为字符串.因此,对于单个列表,我可
假设我有一个字符串列表,如下所示:

l=[['a','kl_hg','FOO'],['b','kl_c','po']]

现在我想使用if命令如下(在伪代码中!):

if allElementsOf(l).isString():
#do something

从this question开始,我学会了如何检查单个变量是否为字符串.因此,对于单个列表,我可以这样做:

dummyL = ['a','FOO']
if all(isinstance(s,basestring) for s in dummyL):
#do something

而对于我的实际列表,我可以这样做:

if all(isinstance(el,basestring) for sl in l for el in sl):
#do something

这是做到这一点的方式还是有更快的解决方案,因为这需要一些时间用于大量列表?

解决方法

你的方法是正确的,any flatting list short cut seems slowest.A fastest way may be use itertools:

import itertools
l=[['a','po']]
if all( isinstance(x,basestring) for x in  itertools.chain.from_iterable(l) ):
    ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读