gpt4 book ai didi

python - 检查 python 列表是否有任何元素是字符串类型

转载 作者:行者123 更新时间:2023-11-28 20:44:56 24 4
gpt4 key购买 nike

如果给定混合类型的列表时列表包含字符串数据类型的元素,我将尝试引发 TypeError。我能够使用下面的代码执行此操作,但我想知道是否有更好的方法来实现相同的结果。

numbers = [1, "two", 3, 4, 5]
myStrList = [x for x in numbers if isinstance(x, str)]
if len(myStrList) != 0:
raise TypeError
else:
#do something

最佳答案

您可以使用 any和一个 generator expression :

numbers = [1, "two", 3, 4, 5]
if any(isinstance(x, str) for x in numbers):
raise TypeError
else:
#do something

除了代码更少这一事实外,此解决方案实际上比您当前的解决方案更高效。这是因为,它不会构建不必要的列表,而是惰性地计算结果并只检查必要数量的项目。


此外,如果您使用的是 Python 2.x,那么最好测试 basestring 的实例。而不仅仅是 str。这将使您还可以捕获任何 unicode列表中的字符串。

关于python - 检查 python 列表是否有任何元素是字符串类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24999073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com